TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
Website: http://uit.edu.vn
BỘ MÔN HỆ ĐIỀU HÀNH
TIU LUN
H ĐIỀU HÀNH
ĐỀ TÀI
QUẢNBỘ NHỚ TRONG HỆ ĐIỀU HÀNH WINDOWS
GIÁO VIÊN HƯỚNG DẪN:
THS. LƯƠNG NGỌC KHÁNH
NHÓM SINH VIÊN:
NGÔ DUY KHÁNH (09520414)
VŨ QUỐC HOÀNG (09520411)
TRƯƠNG HOÀNG AN (09520460)
ĐÀO ANH PHỤNG (09520379)
TP. H CHÍ MINH 11/2010
1
Trư
ng ĐH Công Ngh
Thông Tin Qu
nB
Nh
Trong H
Đi
u Hành Windows
Mc Lc
I. Dn nhp & Khái nim .......................................................................................... 2
1. Dn Nhp .............................................................................................................. 2
2. Các khái nim ........................................................................................................ 2
II. H thng Windows qun lý b logic theo cu trúc phân trang (paging) .............. 3
1. Physical Storage .................................................................................................... 3
2. Virtual Address Space ........................................................................................... 3
3. Phân trang (Paging) ............................................................................................... 4
4. Windows Page Table Management ........................................................................ 7
5. Windows Memory Protection ................................................................................ 8
6. Cấu trúc đa bảng trang ........................................................................................... 8
III. Qun lý b nh o (b nh Logic) ....................................................................... 10
1. B nh o (Virtual Memory) ............................................................................... 10
2. Ánh x (dch) t b nh Logic sang b nh thc ................................................. 11
3. Page Faults. ......................................................................................................... 11
3.1 Page Faults là ................................................................................................ 11
3.2 Lý doy ra Page faults .................................................................................... 12
3.3 Các loi Page Faults có th khc phc: .............................................................. 12
4. Quá trình dịch địa ch o ...................................................................................... 14
5. K thut Copy-On-Write ..................................................................................... 15
6. Nhng thành phn được np vào RAM ................................................................ 15
7. Page file đâu? ................................................................................................... 16
IV. Qun lý b nh vt lý ............................................................................................ 18
1. Phân chia vùng trong RAM ................................................................................. 18
2. Cách thc chuyển đổi gia các vùng trên RAM ................................................... 18
3. Cơ sở d liu v khung trang ............................................................................... 19
Tài liu tham kho …………………………………………………...……….… 20
2
Trường ĐH Công Nghệ Thông Tin Qun Lý B Nh Trong H Điều Hành Windows
I- Dn nhp & Khái nim:
1. Dn Nhp:
Chúng ta thy rng CPU th được dùng chung bi nhiu process.Do kết qu định
thi CPU, chúng ta th ci tiến hiu sut ca CPU ln tốc độ đáp ng ca người
dùng.Để thc hin vic làm tăng hiệu qu này chúng ta phải lưu giữ vài quá trình trong
b nh; tc là chúng ta phi dùng b nh dùng chung.
B nh trung m hat đng ca h thng máy tính hiện đi.B nh gm mt y
ln ca các words hoc các byte, mà mi cái đó đu có địa ch ca riêng chúng.
Qun b nh công vic ca h điều hành vi s h tr ca phn cng
nhm phân phi, sp xếp các process trong b nh sao cho hiu qu.
Mc tiêu cn đạt đưc np ng nhiu process vào b nh càng tt (gia
tăng mức độ đa chương).
Trong hu hết các h thng, Kernel s chiếm mt phn c đnh ca b nh,
phn còn li phân phi cho các process.
2. c khái nim:
Địa ch lun lý, hayn gi địa ch o (Virtual Address): là tt c các đa
ch do b x lý to ra.Tp hp tt c các đa ch lun to nên không gian
đa ch lun lý.
Địa ch vt lý, hay n gi đa ch thực: đa ch thc tế trình qun
b nh nhìn thy thao tác.Tp hp tt c các đa ch vt to nên
không gian địa ch vt lý.
Paging & Page File: Paging k thuật đưc s dng bi h thng b nh
ảo đ đm bo rng d liu ca chúng ta cn tn ti (available) càng
nhanh càng tt. H điu hành copy (sao chép) mt s trang nhất đnh t
thiết b lưu trữ vào b nh chính. Khi cơng trình cn mt trang hin
ti không tn ti trong b nh chính, h điều hành s copy trang cn thiết
đó vào b nh và copy trang khác vào li đĩa. Page File mt file trên
cứng, được Windows s dng làm b nh o để u trữ các chương trình
d liu, khi b nh vt lý (RAM) không đ ch cha.
H1.Minh ha cho vic s dng b nh o to Page File
3
Trư
ng ĐH Công Ngh
Thông Tin Qu
nB
Nh
Trong H
Đi
u Hành Windows
II – H thng Windows qun lý b logic theo cu trúc phân trang (paging):
1. Physical Storage:
Mc tối đa của dung lượng b nh vật đưc h thng Windows h tr khong t
2GB->2TB, tùy thuc vào phn bn ca Windows.
Phiên bn h 32-bit h 64-bit
Windows 2000 Professional 4 GB
X
Windows XP 4 GB
128 GB
Windows Server 2003 SP2 Datacenter
Edition
128 GB
2 TB
Windows Server 2008 R2 Datacenter X
2 TB
Windows 7 Ultimate 4GB
192 GB
H2. Bng so sánh s gii hn b nh vt lý các phiên bn khác nhau của HĐH Windows
(X = không h tr)
Không gian đa ch o ca mt tiến trình có th nh hơn hoc lớn hơn tổng dung
lượng b nh vt trên y tính. Tp hợp các không gian đa ch o ca mt tiến trình
được cư trú trong bộ nh vật lý được gi là “working set” (mô hình Tp m vic).
2. Virtual Address Space:
Mi tiến trình ngưi dùng trên nn tng Windows 32-bit được cp phát mt không
gian đa ch o (Virtual Address Space) 4 Gigabytes.Còn nn tng Windows 64-bit,
mi tiến trình người dùng đưc cp phát mt không gian địa ch o lên ti 8
Terabytes.Tt c các tiu trình ca mt tiến trình có th truy cập vào vùng đa ch o ca
chính nó, tuy nhiên nhng tiu trình đó lại không th truy cập vào ng đa ch o thuc
v mt tiến trình khác.
Không gian đa ch o ca mt tiến trình tp hp tt c các địa ch b nh o mà nó
th được s dng.Các không gian b nh ảo y đưc thiết lp riêng (private),
các tiến trình khác s không được s dng đến nó nếu chưa đưc chia s.
Windows trên hệ thng 32 bit x86 systems thể truy xuất (access) trên 4 Gigabytes
bộ nh vật .Do bởi thực tế bus addr của bộ vi xử (processor) 32 lines hay 32 bits
ch th truy xuất vùng addr từ 0x00000000 đến 0xFFFFFFFF tức ch 4GB. 4
Gigabytes này được chia ra làm hai phn:
0->2 GB dưới: cha d liu lnh riêng ca tng tiến trình.Vùng này hoạt động
chế độ user-mode, người dùng ch thao tác được trên vùng 2GB này.
2->4 GB trên: cha các thành phn d liu thuc v h điều hành, được chia s
chung cho các tiến trình, hot động chế độ kernel-mode, ng này do h điều
4
Trường ĐH Công Nghệ Thông Tin Qun Lý B Nh Trong H Điều Hành Windows
hành qun lý, người dùng không th tác động vào ng y (không th đọc và ghi
đưc).
H3.Không gian đa ch ảo đưc cp phát cho ba tiến trình
Windows làm thế nào cấp phát vùng addr 4GB cho nhiều processes khi tng bnh
của có thể truy xuất cũng bgiới hn bi 4GB? Để đạt được điều này, Windows dùng
một đặc tính của x86 processer (386 trở lên) được biết đến phân trang”
(paging).Paging cho phép phần mm sử dụng một địa chỉ nhớ (được biết đến như logical
address: địa chỉ luận lý) khác với địa chỉ nhớ vật (physical memory address).Paging
của processor chuyn đổi logical address thành physical address một cách dễ dàng.Điều
này cho phép mọi process trong system vùng addr logical 4GB của chính .Để hiểu
điều này chi tiết hơn, chúng ta hảy bắt đầu m hiểu ch paging trong môi trường làm
việc của x86 Processer mc 3 kế tiếp.
3. Phân trang (Paging):
Trong bxử x86 vùng địa chỉ vật (physical address space) được chia
thành các pages kích thước 4KB. vậy để đánh địa chỉ 4GB bộ nh, chúng ta
cần 1 Megabyte (1024x1024) các trang (pages) có kích thưc 4KB.Bộ vi xử lý
dùng 2 lớp cu trúc để tham chiếu đến 1 Mega pages y. Chúng ta có th nghĩ
như một ma trn 2 chiều kích thước 1024x1024 các phần tử.Chiu thnhất
được biết đến nPage Directory và chiu thứ 2 được biết như Page Table.Vì
vậy chúng ta cần cài đặt một Page Directory với 1024 thành phần, mỗi thành phần
point (tr đến) đến một Page Table. Điều này cho phép chúng ta có 1024 Page