Đa tiu trình được thực hiện trong một tiến trình đơn, mỗi tiểu trình có
thể thực hiện đồng thi trên các processor khác nhau.
Cho phép các thành phn khác nhau của hệ thống như device driver,
server process chạy tốt trên hệ thống multiprocessor.
I.6.8. Kiến trúc của Windows 2000
Kernel Mode & User Mode
Để bảo vệ hệ điu hành tránh s truy cập và/hoặc thay đổi bất hợp lệ của các
chương trình ứng dụng ca người sử dụng, Windows 2000 sử dụng hai chế độ xử lý
truy cập: Kernel mode User mode. c chương trình ứng dụng của người s
dụng chạy trong user mode, trong khi đó các dch vụ hệ thống và các chương trình
điu khiển thiết bị của hệ điều hành chy trong kernel mode. Kernel mode chỉ đến
một chế độ của việc thực hiện trong processor mà đó toàn quyn truy cập
đến tất cả hệ thống bộ nhớ và tất cả c chthị ca CPU. Trong cấu trúc này phần
mm hệ điều hành được cung cấp một mức đặc quyn cao n so với mức đặc
quyền của c chương trình ng dụng ca người sử dụng. Processor cung cấp c
cơ scần thiết để người thiết kế hệ điều hành đảm bảo rằng các ứng dụng không
thể phá vỡ trạng thái ổn định của hệ thống và làm hỏng nó.
Các tiểu trình trong user mode thực hiện trong không gian địa chỉ bộ nhớ
được bảo vệ, mỗi thành phần trong user mode sở hữu một không gian đa chỉ tiến
trình riêng. Trong khi đó Windows 2000 không cung cấp bất kỳ một sbảo vệ nào
trên c không gian b nhớ riêng được s dụng bởi các thành phần chạy trong
kernel mode. Trong một tuyên bố khác, trong kernel mode, mã hđiu hành các
chương trình điu khiển thiết bhoàn toàn th truy cập đến không gian bộ nhớ
hệ thống và có th vượt qua sự giám sát an toàn của Windows 2000 để truy cập đến
các đối tượng. Bởi vì phn lớn mã ca hệ điều hành Windows 2000 chy trong
kernel mode, c thành phn quan trọng nhất ca hđiều hành chy trong kernel
mode được thiết kế và được kiểm tra rất cẩn thn để đảm bảo rằng không vi
phm đến sự an toàn của hệ thống.
C ý: Kiến trúc của processor Intel x86 định nghĩa 4 cấp/ vòng đặc quyn truy
cập (Privilege levels/ Rings), để bảo vệ code và data của hệ thống, tránh sự ghi đè
(overwrite) chý (maliciously) hoặc không chủ ý (inadvertently) bởi các code
cp đặc quyền truy cập thấp n. Windows 2000 sdụng cấp 0/ vòng 0 cho
Kernl mode và cấp 3/ vòng 3 cho Uer mode. Nguyên nhân Windows 2000 ch
s dụng có 2 cấp là do một vài kiến trúc phần cứng trước đó, chẳng hn như
Compaq Alpha và Silicon Graphics, ch được cài đặc 2 cấp đặc quyền truy cập.
Kiến trúc ca Windows 2000
Hình v 1.12 sau đây cho ta thy kiến trúc đã được đơn gin hoá của
Windows 2000.
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Hình v cho ta thấy kiến trúc của hệ điều hành Windows 2000 được chia
thành hai phần: User mode và Kernel mode. User mode bao gồm các thành phần:
System support processes, Service Processes, User applications, Environment
subsystems, mi thành phần này s hữu một không gian địa chỉ tiến trình riêng.
Các thành phần trong User mode:
System support processes (các tiến trình htrợ hthng): N tiến
trình logon, quản các Session, các thành phần này không phải là các dịch
v của Windows 2000, do đó không được khi động bởi thành phn
Service Control Manager.
Service processes (các tiến trình dịch vụ): Đócác dịch vụ chủ Win32, như
là dịch Task Scheduler Spooler, cungc thlà các ứng dụng server
Windows 2000 như Microsoft SQL Server, Exchange Server c thành
phần chạy như là các dch vụ.
User applications (các ng dụng người sdụng): thể là một
trong năm loại sau: Win32, Windows 3.1, MS_DOS, POSIX, hoặc OS/2 1.2.
Environment subsystems (các h thống con môi trường): đưa ra các
dch vụ nguyên thu của hệ điều hành, các ứng dụng của người s dụng
thông qua mt tập các hàm th gọi được, do đó cung cp một i
trường hệ điu hành cho các ứng dụng. Windows 2000 đưa ra ba hthống
con môi trường: Win32, POSIX OS/2, trong đó Win32 hthống con
đặc biệt nhất, Windows 2000 không thể chạy nếu không nó, do đó nó phi
System
Support Processes
Service
Processes
User
Applicatioes
Environment
SubsystemÐ
Subsystem DLLs
Executive
Kernel Device Drivers
Hard Abstraction Layer
Windows
And Graphics
Hình 1.12
: Kiến trúc được đơn giản của Windows 2000
Kernel mode
User mode
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
luôn trạng thái chạy ngay sau khi hệ thống được khởi động. POSIX và
OS/2 được cấu hình chkhởi tạo khi cần. Các ứng dụng được viết trên các
hđiu hành khác nhau th chy trên Windows 2000 nh sử dụng c
environment subsystem.
Subsystem DLLs (hthống con các thư viện liên kết động): Hình trên
cho thấy trong Windows 2000 các ứng dụng của người sử dụng không thể
gọi trực tiếp các dch vụ nguyên thủy của hệ điều hành, chúng phải thông
qua mt hoặc nhiều các DLL. Vai trò ca các Subsystem DLL là chuyển các
yêu cu gọi hàm vào bên trong các dịch vụ hệ thống của Windows 2000.
Các thành phần trong Kernel mode:
Windows 2000 Executive: Chứa các dịch vụ cơ scủa hệ điu hành,
như là: quản lý bộ nhớ, quản lý các tiến trình và tiểu trình, quản lý sự an toàn
hệ thống, quản I/O, và thực hiện việc truyn thông liên tiến trình.
Windows 2000 Kernel: Bao gồm các chức ng cấp thp ca hệ điu
hành như là: lập lịch tiểu trình, đồng bộ cho các hệ thống multiprocessor.
cũng cung cấp một tập các thường trình các đối tượng cơ smà Executive
sử dụng để cài đặt các chức năng cấp cao.
Device drivers (các trình điu khiển thiết bị): Bao gồm cả hai: điu
khiển thiết bị phần cứng và điều khiển hệ thống file và mng. Điu khin
thiết bphn cứng nhiệm vụ chuyển các lời gi hàm I/O t phía người s
dụng thành các yêu cu I/O thiết b phần cứng cụ thể.
HAL: Hardware Abstraction Layer (lp phần cứng trừu tượng): Lớp
này m trừu tượng hoá các chi tiết phần cứng bên trong của PC, làm cho
Windows 2000 Server tương thích vi nhiều kiến trúc phần cứng khác nhau.
cho phép Windows 2000 chy trên các nền vi xử khác nhau như Intel
Alpha, không cn duy trì 2 version khác của Windows 2000 Execute.
HAL bo vtất cả phần cứng và h trợ các nền c thcần cho mỗi thành
phần trong hệ thống đối với tất cả phần cứng và htrợ nềm c thể. HAL
được cài đặt như một DLL và đóng vai tnhư là giao diện giữa các thành
phần phần cứng và phn mm.
Window Manager and Graphical Device Interface (GDI): Window
Manager và GDI được s dụng để quản hệ thng hin thị. Window
Manager bo v màn hình và nhận các lệnh từ các thiết bnhập như là Mouse
hoặc bàn phím. GDI điu khiển việc vẽ và thc hiện các thao tác đồ hoạ với
sự giúp đỡ của các chức ng khác nhau được định nghĩa trước.
Sau đây chúng ta sẽ tìm hiu rõ hơn vmột số thành phn trong kiến trúc của
hệ điu hành Windows 2000:
Environment Subsystem và Subsystem DLL:
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Vai trò ca hệ thống con môi trường là đưa ra một vài tập con scác dịch
v hthống trong Windows 2000 executive cho các ng dụng. Mỗi hệ thống
con có th cung cấp truy cập đến các tập con khác nhau của các dịch v
nguyên thủy của Windows 2000. Từ một ứng dụng được xây dựng trên một hệ
thống con này không thgọi đến một ứng dụng được xây dựng trên một hệ
thống con khác.
Các lời gọi hàm không th ln lộn giữa các hthống con. Tức là một
ứng dụng trên POSIX chỉ có th gọi các dịch vụ được đưa ra bởi hthống con
POSIX, mt ứng dụng Win32 ch thể gọi các dịch vđược đưa ra bởi hệ
thống con Win32.
Như đã biết các ng dụng người sử dụng không thể gi trực tiếp c
dịch vhthống ca Windows 2000 mà phải thông qua một hoặc nhiều các hệ
thống con DLL. Các h thống con DLL Win32 như kernel32.dll,
Advapi32.dll, User32.dll Gdi32.dll, i đặt các hàm Win32 API, để cácng
dụng của người sử dụng gọi nó thông qua tập hàm này. Khi một ứng dụng gọi
một hàm trong hệ thống con DLL, thì một trong ba trường hợp sau sẽ xảy ra:
Hàm được cài đặt hoàn toàn trong h thống con DLL. Nói cách khác là
không thông đip gởi tới tiến trình Vai trò của hệ thống con môi trường,
không một dịch vụ hthống nào trong Windows 2000 executive nào
được gọi. Hàm được thực hiện trong user mode và kết quả được trả về cho
chương trình gọi.
Hàm yêu cu một hoặc nhiều lời gọi đến Windows 2000 executive.
dkhi c hàm Win32 ReadFile WriteFile được gọi thì phải gi đến
các dịch vụ hthống I/O NtReadFile và NtWriteFile trong Windows 2000.
Hàm u cu một vài ng việc để thực hin trong tiến trình,.của hệ
thống con môi trường. Các tiến trình của hệ thống con môi trường chy trong
user mode, chịu trách nhiệm duy trì trng thái của c ng dụng client chạy
dưới sự điu khiển của nó. Trong trường hợp này một client/server yêu cu
tạo mt hthống con môi trường qua một thông điệp gởi tới một hệ thống
con để thực hin một vài thao tác. Hthống con DLL thì đợi trả li trước khi
trả về cho ứng dụng gọi.
Một vài m th kết hợp 2 trong 3 trường trên, như c hàm Win32:
CreateProcess và CreateThread.
Tập tin Ntdll.Dll là một hệ thống đặc biệt, hỗ trợ thư viện chính cho việc
sử dụng các hệ thống con DLL. Nó chứa hai loại hàm sau:
Dch vụ h thống gi đến các dch vụ hệ thống Windows 2000
executive.
Các m htrợ bên trong được sdụng bởi các h thống con, các hệ
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
thống con DLL và các hàm nguyên thủy điển hình khác.
Các m nhóm đầu tiên cung cấp một giao din để Windows 2000
executive thđược gọi từ user mode. n 200 hàm như thế và các m này
có thể truy cập thông qua Win32 API.
Ntdll cũng chứa c hàm htrợ như image loader, heap manager và các
hàm truyn thông tiến trình Win32.
Executive:
Windows 2000 executive lớp trên của Ntoskrnl.exe (kernel là lớp thấp).
Executive bao gồm các hàm sau:
Các hàm được đưa ra và có thgọi từ user mode. Đây là các hàm được
gọi và được đưa ra qua Ntdll. Hu hết các dịch vụ là được truy cập thông qua
các hàm Win32 API hoặc các API của các Vai trò của hệ thống con i
trường khác.
Các hàm ch thể được gọi từ kernel mode, được đưa ra được
cung cấp in Windows 2000 DDK Windows 2000 Installable File System
(IFS) Kit.
Các m được đưa ra và thgọi từ kernel mode nhưng không được
giới thiệu trong Windows 2000 DDK và IFS Kit.
Các hàm được định nghĩa nhưng không được đưa ra. Đây các hàm
hỗ trợ bên trong, nó được gọi trong phạm vi Ntoskrnl.
Windows 2000 Executive chứa các thành phần quan trọng sau đây:
Configuration Manager (quản lý cu hình): chịu trách nhiệm cài đặt và
quản lý Registry h thống.
I/O Manager (quản I/O): Thành phần này chuyển các lệnh đọc/ ghi
trong user mode đến vic đọc/ghi ca IRP (I/O Request Packets). gồm
có: các h thống file, c điu khiển thiết bị, quản bộ nhớ cache, quản
bộ nhớ ảo.
InterProcess Communication - IPC Manager (qun truyền thông
liên tiến trình): Quản IPC là tạo liên kết giữa client và server.
Environment subsystem đóng vai trò như là một client và Executive đóng vai
trò như một server. được tạo ra từ 2 thành phần: Remote Procedure
Call - RPC: githông tin về kết ni giữa các client và các server trên các
máy tính khác nhau. Local Procedure Call - RPC: githông tin về kết nối
giữa các client và các server trên cùng một máy tính.
Security Manager (quản sự an toàn): Đây là thành phần tạo nên s
an toàn hthống bằng ch bắt buộc các chính sách an toàn trên các máy
tính cục bộ.
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m
Click to buy NOW!
P
D
F
-
X
C
h
a
n
g
e
V
i
e
w
e
r
w
w
w
.
d
o
c
u
-
t
r
a
c
k
.
c
o
m