You are on page 1of 12

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
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.
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ộ
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


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ế
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
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ý.

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.

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.

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 Nằm dưới cùng là HAL Giao tiếp I/O và các trình điều
hành chia thành nhân con khiển thiết bị. Thiết theo kiến
microkernel và trình điều trúc Mach. Các thành phần
khiển kernel mode driver. đều năm bên trong Darwin
Chúng điều hành các
object như I/O, SRM, IPC,
VMM, PnP,…

Phần giao tiếp Chia thành hai hệ thống Chia thành 2 phần API và GUI.
người sử dụng con. Một chứa các service Cung cấp các hàm cần thiết
Work Station, Server và để giao tiếp với phần cứng …
Bảo mật, một là môi các loại ngôn ngữ được sử
trường phát triển ứng dụng là Cocoa, Carbon và
dụng Win32, POSIX, OS/2 Java.

You might also like