tìm hiểu cấu trúc windows nt so sánh windows nt với mac os x

14
HỆ ĐIỀU HÀNH Tìm hiểu cấu trúc Windows NT So sánh Windows NT với Mac OS X Sinh Viên: Trương Mạnh Quân Nguyễn Duy Hưng Lớp: D08CNTT6 – PTIT

Upload: quanmt

Post on 26-Jun-2015

513 views

Category:

Documents


2 download

DESCRIPTION

HỆ ĐIỀU HÀNHTìm hiểu cấu trúc Windows NT So sánh Windows NT với Mac OS XSinh Viên: Trương Mạnh Quân Nguyễn Duy Hưng Lớp: D08CNTT6 – PTIT1.Giới thiệu trung về Windows NTWindows NT là tên gọi gia đình hệ điều hành được sản xuất bởi Microsoft, phiên bản đầu tiên được phát hành vào tháng 7 năm 1993. Nó được thiết kế là một hệ thống có nền tảng ngôn ngữ bậc cao, xử lý không phụ thuộc, nhiều bộ xử lý và nhiều người sử dụng có các tính năng có thể so sánh được với UNIX. Nó là phiên bản cho người

TRANSCRIPT

Page 1: Tìm hiểu cấu trúc Windows NT So sánh Windows NT với Mac OS X

HỆ ĐIỀU HÀNH

Tìm hiểu cấu trúc Windows NTSo sánh Windows NT với Mac OS X

Sinh Viên: Trương Mạnh QuânNguyễn Duy Hưng

Lớp: D08CNTT6 – PTIT

Page 2: Tìm hiểu cấu trúc Windows NT So sánh Windows NT với Mac OS X

1. Giới thiệu trung về Windows NT

Windows NT là tên gọi gia đình hệ điều hành được sản xuất bởi Microsoft, phiên bản đầu tiên được phát hành vào tháng 7 năm 1993. Nó được thiết kế là một hệ thống có nền tảng ngôn ngữ bậc cao, xử lý không phụ thuộc, nhiều bộ xử lý và nhiều người sử dụng có các tính năng có thể so sánh được với UNIX. Nó là phiên bản cho người dùng của Windows dựa trên MS-DOS. NT là phiên bản Windows 32 bits hoàn chỉnh đầu tiên, Windows 3.1x và Windows 9x hỗ trợ cả 16 bit và 32 bit. Các hệ điều hành sau này của Microsoft như Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Home Server, Windows Server 2008 và Windows 7 được làm dựa trên Windows NT nhưng chúng không được thương mại hóa với tên Windows NT.

Trong nhiều ấn bản của Microsoft, NT là viết tắt của “New Technology”, đây là tên mà Microsoft dùng để quảng bá sản phẩm. Ngoài ra nó còn được hiểu là “N-Ten” – tên mã của vi xử lý Intel i860 XR mà Windows NT lần đầu tiên được phát triến trên. Tuy nhiên, hiện tại NT không còn mang một nghĩa nhất định nào.

2. Kiến trúc của Windows NT

Kiến trúc của Windows NT được thiết kế theo lớp, nó bao gổm 2 thành phần chính, Chết độ người dùng và chế độ nhân kernel. Nó được thiết kế để làm việc với máy tính có bộ xử lý riêng biệt và đối xứng. Để thực hiện yêu cầu vào/xuất, chúng sử dụng gói điều khiên I/O. Bắt đầu từ Windows 2000, Microsoft bắt đầu sản xuất các phiên bản Windows 64 bit, trước đó chỉ có các phiên bản 32 bit.

Chương trình và các hệ thống cong trong chế độ người dùng bị giới hạn các tài nguyên mà nó được truy cập tới, trong khi chế độ nhân kernel không bị giới hạn gì đến bộ nhớ hệ thông và các thiết bị ngoại vi. Nhân của Windows NT được biết như là nhân lai, kiến trúc của nó kết hợp nhân đơn, lớp trừu tượng của phần cứng, các bộ điều khiển và một vùng dịch vụ, tất cả trong 1 chế độ nhân.

Page 3: Tìm hiểu cấu trúc Windows NT So sánh Windows NT với Mac OS X
Page 4: Tìm hiểu cấu trúc Windows NT So sánh Windows NT với Mac OS X

2.1. Chế độ người dùng

Chế độ người dùng trong Windows NT được hệ thống con có khả năng truyền các yêu cầu I/O đến chế độ nhân phù hợp và được điều khiển bởi hệ thống quản lý vào ra (I/O Manager). Chế độ nhân trong Windows NT có toàn quyền truy nhập đến phần cứng và tài nguyên hệ thống của máy tính. Chế độ nhân dừng các dịch vụ chế độ người dùng và các ừng dụng truy cập vào các vùng nguy hiểm của hệ điều hành mà chúng không nên truy cập tới.

Giao diện điều hành, với tất cả hệ thống con của chế độ người dùng, xử lý các công việc liên quan tới vào ra, quản lý đối tượng, bảo mật và quản lý tiến trình. Nhân ngồi giữa lớp trừu tượng của phần cứng và hệ quản lý để cung cấp nhiều xử lý kết hợp, luồng chương trình, dừng chương trình, truyền lệnh, điều hành bẫy và truyền các Exception. Nhân cũng có trách nhiệm tới việc khởi tạo trình điều khiển thiết bị khi khởi động hệ điều hành. Trình điều khiển chế độ nhân có sẵn 3 lớp: mức cao nhất, trung bình và mức thấp

2.2. Chế độ nhân kernel

Nhân của Windows NT có toàn quyền truy cập tới phần cứng và tài nguyên hệ thống của máy tính và chạy các dòng mã trong vùng nhớ được bảo vệ. Nó điều khiển truy cập tới việc lập danh mục, xác định luồn ưu tiên, quản lý bộ nhớ và làm việc với phần cứng. Chế độ nhân kernel ngăn các dịch vụ và ứng dụng của chế độ người dùng vào việc truy cập tới vùng tài nguyên nguy hiểm. Các tiến trình của chế độ người dùng phải xin phép truy cập của chế độ nhân kernel trước khi thực thi.

Khi mà kiến trúc x86 hỗ trợ cả 4 mức đặc quyền (từ 0 tới 3) thì chỉ 2 mức cao nhất được sử dụng. Các chương trình của chế độ người dùng sử dụng mức 0 và chế độ nhân sử dụng mức 0.

Chế độ nhân bao gồm các dịch vụ điều hành, chúng được tạo nên bới nhiều module làm các việc nhất định, các trình điều khiên nhân, một nhân và lớp trừu tượng của phần cứng.

2.2.1. Dịch vụ điều hành

Các dịch vụ điều hành tạo nên mức thấp của chế độ nhân, và bao gồm trong file NTOSKRNL.EXE. Nó xử lý các tác vụ vào ra, quản lý đối tượng, an toàn và quản lý xử lý. Chúng được chia ra thành vài thành phân nhỏ: Quản lý cache, Quản lý cấu hình, quản lý vào ra, gọi ưu tiên cục bộ (LPC), quản lý bộ

Page 5: Tìm hiểu cấu trúc Windows NT So sánh Windows NT với Mac OS X

nhớ, quản lý đối tượng, cấu trục xử lý và giám xát an ninh (SRM). Được nhóm lại với nhau, các thành phần này có thể được gỏi bởi dịch vụ điều hành.

a. Quản lý đối tượng

Trình quản lý đối tượng là hệ thống quản lý con mà tất cả các hệ thống quản lý con khác phải đi qua để tăng quyền truy cập vào tài nguyên của Windows NT. Hệ thống quản lý đối tượng được sử dụng để giảm sự lặp lại của chức năng quản lý tài nguyên đối tượng trong các hệ quản lý con khác mà có nhiều khả năng tạo ra lỗi và làm cho việc phát triển Windows NT trở nên khó khăn hơn. Đối với hệ quản lý đối tượng, mỗi tài nguyên là một đối tượng, cho dù tài nguyên đó là tài nguyên vật lý hạy tài nguyên logic. Mỗi đối tượng có một cấu trúc hay một loại đối tượng mà trình quản lý đối tượng phải biết tới.

Việc tạo đối tượng gồm 2 phần tạo và thêm. Quá trình tạo đầu tiên sẽ cung cấp 1 đối tượng rỗng và để dành số lượng tài nguyên bắt buộc bởi hệ quản lý đối tượng như tên … Nếu tạo thành cộng, hệ con có trách nhiệm điền đối tượng vào đối tượng trống được khởi tạo lúc đầu. Cuối cúng, nếu hệ con khởi tạo thành công, nó hướng dẫn hệ quản lý đối tượng thêm đối tượng vào, làm cho nó có thể truy vào được qua tên. Từ đó đối tượng được quản lý bởi hệ quán lý đối tượng.

Việc điều khiển là định dạng mà thay mặt chỉ tới một tài nguyên của nhân kernel qua một giá trị không rõ ràng. Tương tự, việc mở một đối tượng thông qua tên của nó là việc kiểm tra an toàn, nhưng hành động qua một điều khiển mở và có sẵn chỉ giới hàn mức yêu cầu truy nhập khi đối tượng đã mở hoặc đã được tạo.

Loại đối tượng đinh nghĩa thử tục của đối tượng và bất kỳ dữ liệu nhất định đển đối tượng. Bằng cách này, hệ quán lý đối tượng đồng ý cho Windows NT là hệ điều hành hướng đối tượng, như loại đối tượng có thể nghĩ như là các lớp đa dạng định nghĩa các đối tượng.

Mỗi instance của một đối tượng được tạo và lưu tên của nó, các tham số được truyền đến hàn khởi tạo hàm, các thuộc tính an ninh và một con trỏ tới kiểu đối tượng của nó. Đôi tượng cũng bao gồm một đối tượng thủ tục đóng và một bộ đếm để thông báo với hệ quản lý đối tượng bao nhiêu đối tượng khác trong hệ thống chỉ tới đối tượng mà từ đó xác nhận đối tượng nào cầm bị phá hủy khi yêu cầu đóng được gửi tới nó.

b. Điều khiển Cache

Page 6: Tìm hiểu cấu trúc Windows NT So sánh Windows NT với Mac OS X

Ngang hàng với hệ quản lý bộ nhớ, quản lý vào ra và hệ điều khiển vào ra để cung cấp cache tương đồng cho các tệp vào ra bình thường. Nhưng khác với các thành phần kia, hệ quản lý bộ nhớ của Windows vận hành trên các blocks của file để có sự vận hành phụ hợp giữa file cục bộ và file bên ngoài, và đảm bảo một mức độ liên kết nhất định với ảnh sơ đồ bộ nhớ của file, bởi cache theo block là trường hợp đặc biệt của ảnh sơ đồ bộ nhớ và thiết cache là trường hợp đặc biệt của lỗi trang.

c. Quản lý cài đặt

Phần này được thực hiện bằng Windows registry.

d. Quản lý vào ra (I/O)

Cho phép các thiết bị giao tiếp với các hệ con của chế độ ngường dùng. Nó dịch các lệnh đọc và ghi của chết độ người dùng thành đọc và ghi IRPs, sau đó chúng được chuyền tới trình điều khiển thiết bị. Nó chấp nhận các yêu cầu vào ra của file hệ thống và dịch chúng thành các lệnh gọi thiết bị đặc biệt, và có thể không chấp hành mức thấp của trình điều khiển thiết bị mà trực tiếp điều khiển phần cứng đọc đầu vào hoặc ghi đầu ra. Nó cũng bao gồm một hệ quản lý bộ nhớ để tăng khả năng vận hành của đĩa cứng bằng cách đọc cái yêu cầu và ghi vào nền của đĩa.

e. Thủ tục gọi cục bộ (LPC)

Cung cấp các cổng kết nối liên thông giữa các tác vụ xử lý . các cổng LPC được sử dụng bới các hệ con của chết độ người dùng để liên lạc giữa các khách của nó bằng cách hệ con quản lỹ sẽ giao tiếp với hệ con của chế độ người dùng.

f. Quản lý bộ nhớ

Quản lý bộ nhớ ảo, quản lý bảo vệ bộ nhớ và phân trang bộ nhớ vào và rat của bộ nhớ vật lý đến các bộ nhớ thứ cấp, và thực hiện một mục đích chung là cung cấp bộ nhớ vật lý.

Kể từ Windows NT Server 4.0, phiên bản Terminal Server, hệ quản lý bộ nhớ còn thực hiện chức năng gọi là “session space”, một vùng của bộ nhớ chế độ nhân kernel có chủ để là lực chọn bối cảnh như là bộ nhớ chế độ người dùng. Chức năng này cho phép nhiều instance của chế độ nhân trong hệ thống con Win32 và trình điều khiển GDI chạy song song, mặc dù thiết kế

Page 7: Tìm hiểu cấu trúc Windows NT So sánh Windows NT với Mac OS X

ban đầu của chúng rất khác nhau. Mỗi session space được chia sẻ bở vài quá trình, được chọn lọc như là một “session”

Để đảm bảo mức độ cách ly giữa các session mà không cần phải tạo một loại đối tượng mới, và liên kết giữa các quá trình và các sessuib được điều hành bở hệ giám giát an toàn, như một thuộc tính của mục đích an toàn, và nó chỉ có thể bị thay thế khi nắm giữ quyền đặc biệt.

g. Cấu trúc xử lý

Quá trình xử lý, tạo luồng và huỷ, nó thực thi theo các khái niệm của Job, một nhóm các tiến trình có thể chấm dứt đồng thời, hoặc được đặt dưới sự hạn chế chia sẻ (như tổng cộng lượng bộ nhớ hoặc CPU tối đa cấp phát). Đối tượng Job đưa ra giới thiệu trong Windows 2000.

h. Plug and Play

“Cắm và chạy” hỗ trợ phát hiện thiết bị và cài đặt lúc khởi động. Nó cũng có trách nhiệm dừng và khới động thiết bị theo yêu cầu – có thể xảy ra khi bus (như USB hoặc FireWire) giành được thiết bị mới và cần trình điểu khiển để hỗ trợ thiết bị. Trong chế độ người dùng, Plug and Play thường xuyên xử lý các tác vụ phức tạp của việc cài đặt trình điều khiển thích hợp, thông báo sự xuất hiện các thiết bị mới, và hiển thị cho người dùng biết.

i. Quản lý nguồn.

Deals with power events (power-off, stand-by, hibernate, etc.) and notifies affected drivers with special IRPs (Power IRPs).

Tương tác với các sự kiện nguồn điện (Tắt, chờ, ngủ đông, v.v.) và thông báo cho Power IRPs.

j. Security Reference Monitor (SRM)

Bộ phận chính cho việc thực thi các quy tắc bảo mật của các hệ thông con. Nó xác định một đối tượng hoặc nguồn tài nguyên có thể được truy cập, thông qua danh sách kiểm soát truy cập (ACLs) tự tạo ra danh mục kiểm soát truy cập (ACEs). ACE chứa bộ nhận dạng và danh sách các hoạt động mà ACE đem cho một người, nhóm, phiên đăng nhập quyền cho phép, từ chối, kiểm tra tài nguyên.

k. GDI

Page 8: Tìm hiểu cấu trúc Windows NT So sánh Windows NT với Mac OS X

Giao diện đồ họa có trách nhiệm như vẽ đường thẳng, đường cong, font chữ và bảng màu. Windows NT 3.x được cài đặt các thành phần GDI trong chế độ người dung nhưng nó đã chuyển vào chế độ hạt nhân từ bản Windows NT 4.0 để cải thiện khả năng đồ hoạ.

2.2.2. Kernel

Nhân kernel nằm giữa Lớp phần trừu tượng phần cứng (HAL), hệ quản lý và hệ cung cấp đồng bộ đa xử lý, giữa luồn, luồng và ngắp sắp xếp và truyền lệnh, xử lý bẫy và truyền exception; nó cũng có trách nhiêm cho việc khởi tạo trình điều khiển thiết bị lúc khởi động mà cần thiết để hệ điều hành chạy. Do đó, nhân kernel thực thi hầu như tất cả các tác vụ của của một nhân truyền thống. Nhân kernel thường giao tiếp với hệ quản lý tiến trình. Mức độ trừu tượng của chúng là nhân kernel không bao giờ gọi hệ quản lý tiếng trình mà chỉ có chiều ngược lại.

2.2.3. Trình điều khiển chế độ nhân kernel

Windows NT sử dụng trình điều khiển chế độ nhân kernel để kích hoạt nó tương tác với các thiết bị phần cứng. Mỗi trình điều khiển đã xác định rõ các thủ tục của hệ thống và các chương trình nội bộ. Tất cả các thiết bị được xem bởi mã chế độ người dùng như file trong quản lý nhập xuất, mặc dù bản thân quản lý nhập xuất thì các thiết bị là các đối tượng thiết bị mà nó định nghĩa là file, thiết bị hay đối tượng điều khiển. Chế độ nhân kernel tồn tại trong 3 cấp độ: điều khiển cấp cao, cấp trung và cấp thấp. Trình điều khiển cấp cao, như điều khiển hệ thống FAT và NTFS, dựa vào trình điều khiển trung gian. Trình điều khiển trung cấp bao gồm các hàm điều khiển hoặc điều khiển chính cho một thiết bị - kẹp giữa trình điều khiển cấp thấp và bộ lọc cấp cao. Các chức năng điều khiển sau đó dựa vào bus hoặc service như bus controller, bộ chuyển đổi, hay cầu, cái có thể có một bộ lọc bus ở giữa nó với chức năng điều khiển. Bộ điều khiển trung cấp dựa trên các trình điều khiển mức thấp để hoạt động. Window Driver Model(WDM) tồn tại trong lớp trung gian. Các trình điều khiển mức thấp thừa kế sự điều khiển phần cứng của WindowsNT hoặc có thể là Plug&Play bus. Các trình điều khiển cấp thấp điều khiển trực tiếp phần cứng và không dựa trên bất kì cái nào khác.

2.2.4. Lớp phần trừu tượng phần cứng

Là lớp nằm các giữa phần cứng máy tính và phần còn lại của HDH. Nó được thiết kế để che giấu sự khác biệt phần cứng và cung cấp lên một nền tảng thích hợp cho hạt nhân hoạt đông. HAL bao gồm các mã phần cứng cụ thể là giao tiếp vào ra, ngắt điều khiển và đa xử lý.

Page 9: Tìm hiểu cấu trúc Windows NT So sánh Windows NT với Mac OS X

Tuy nhiên, mặc dù mục đích của nó được chỉ định trong kiến trúc, HAL không phải một lớp ở dưới hoàn toàn hạt nhân, theo cách hạt nhân dưới HDH: tất cả các triển khai HAL được biết phụ thuộc vào một số biện pháp với hạt nhân. Trong thực tế, điều này có nghĩa là hạt nhân và các biến thể HAL đến trong bộ kết hợp được đặc biệt thiết kế để làm việc cùng nhau. Trong đó phần cứng trừu tượng không liên quan đến trừu tượng hóa các tập lệnh, mà nói chung thuộc khái niệm rộng hơn của tính di động. Trừu tượng hóa các tập lệnh, khi cần thiết (chẳng hạn như xử lý các bản sửa đổi một số các tập lệnh x86, hoặc mô phỏng một lệnh coprocessor bị bỏ qua), được thực hiện bởi hạt nhân, hoặc thông qua nền tảng ảo hóa.

3. Giới thiệu trung về Mac OS X

Mac OS X là tên gọi một dòng sản phẩm hệ điều hành dựa trên nền tảng Unix có giao diện người dùng, được quảng cáo, phát triển và bán bởi tập đoàn Apple. Từ 2002, Mac OS X được cài vào tất cả các máy tính Macintosh mới. Nó là sản phẩm nối tiếp thành công của người tiền nhiệm Mac OS 9, được phát hành vào năm 1999, phiên bản cuối cùng của Mac OS cổ điển – hệ diều hành chính của Apple từ năm 1984.

Mac OS X, chữ X là số 10 tron hệ số la mã và nó cũng là điểm nổi bật trong thương hiệu của nó. Nó là một hệ điều hành có giao diện được làm dựa trên Unix và sử dụng các công nghệ được phát triển bởi NeXT vào giữa những năm 1980 cho đến khi Apple mua lại NeXT vào cuối năm 1996.

Phiên bản đầu tiên được phát hành là Mac OS X server 1.0 vào năm 1999, và phiên bản cho máy desktop Mac OS X 10.0 “Cheetah” sau đó vào 24 tháng ba năm 2001. Các tên của Mac OS X đều đặt theo những con vật họ mèo như Snow Leopard (10.6) Lion (10.7) ...

Apple cũng sản xuất những phiên bản đặc biệt của Mac OS X để sử dụng trong các thiết bị khác của hãng như iOS cho iPhone, iPod Touch, iPad và Apple TV.

Page 10: Tìm hiểu cấu trúc Windows NT So sánh Windows NT với Mac OS X

4. So sánh cấu trúc Windows NT và Mac OS X

Windows và Mac OS X có kiến trúc khá giống nhau, cả hai đều có giao tiếp với phần cứng thông qua một nhân kernel. Nhưng khác với Windows ở Mac OS X sử dụng Kernel XNU (Viết tăt của XNU’s Not Unix), kernel này thuộc về Darwin. XNU được thiết kế dựa trên kiến trúc Mach.

Page 11: Tìm hiểu cấu trúc Windows NT So sánh Windows NT với Mac OS X

Chế độ nhân kernel của Windows NT khá giống với Darwin của Mac OS X, chúng đều giao tiếp trực tiếp với phần cứng và tất cả các chương trình phải thông qua chúng để giao tiếp với phần cứng.

Chế độ người dùng trong Windows NT thì tương đương với API, GUI (aqua) trong Mac OS X, Chúng đều cung cấp các API cho các chương trình sử dụng. Có một điều đặc biệt là Mac OS X sử dụng rất nhiều thư viện nguồn mở BSD.

Windows NT Mac OSX

Phần cứng Hardware Hardware

Nhân hệ điều hành

Nằm dưới cùng là HAL chia thành nhân con microkernel và trình điều khiển kernel mode driver. Chúng điều hành các object như I/O, SRM, IPC, VMM, PnP,…

Giao tiếp I/O và các trình điều khiển thiết bị. Thiết theo kiến trúc Mach. Các thành phần đều năm bên trong Darwin

Phần giao tiếp người sử dụng

Chia thành hai hệ thống con. Một chứa các service Work Station, Server và Bảo mật, một là môi trường phát triển ứng dụng Win32, POSIX, OS/2

Chia thành 2 phần API và GUI. Cung cấp các hàm cần thiết để giao tiếp với phần cứng … các loại ngôn ngữ được sử dụng là Cocoa, Carbon và Java.