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ẢN LÝ BỘ 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
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à gì: ............................................................................................... 11
3.2 Lý do gây 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 phần được np vào RAM: ............................................................... 15
7. Page file đâu?: .................................................................................................. 16
IV. Qun lý b nh vt lý: ........................................................................................... 18
1. Các trang nh ca RAM có th chia làm 1 trong 5 vùng: ..................................... 18
2. Cách thc chuyn đổ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 Qu
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 việc làm ng hiệu qu này chúng ta phải lưu giữ i quá trình trong
b nh; tc là chúng ta phi dùng b nh dùng chung.
B nh trung m họat đ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, mi cái đó đều có địa ch ca riêng chúng.
Qun b nh là công vic ca h điu 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 càng nhiu process 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ý, hay còn gọi là địa ch o (Virtual Address): là tt c các địa
ch do b x 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 còn gọi đa ch thực: đa ch thc tế mà trình qun
b nh nhìn thy thao tác.Tp hp tt c các địa ch vt lý 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 điều hành copy (sao chép) mt s trang nht định t
thiết b lưu trữ vào b nh chính. Khi chương trình cn mt trang mà 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 để lư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
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 ti đ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 th nh hơn hoc lớn hơn tổng dung
lượng b nh vt trên y tính. Tp hp 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” ( hình Tp làm vic).
2. Virtual Address Space:
Mi tiến trình người 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 một 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 vùng địa ch o thuc
v mt tiến trình kc.
Không gian đa ch o ca mt tiến trình là 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ệ thống 32 bit x86 systems thể truy xuất (access) trên 4 Gigabytes
bộ nhớ vật lý.Do bởi thực tế bus addr của bvi 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 2GBy.
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 Qu
Nh
Trong H
Đi
u Hành Windows
hành qun lý, người dùng không th c động vào vùng nà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 tổng bnh
của nó thể truy xuất cũng bị giới hạn 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 ) khác với địa chỉ nhớ vật lý (physical memory address).Paging
của processor chuyn đổi logical address thành physical address một cách dễ dàngiều
này cho phép mọi process trong system vùng addr logical 4GB của chính nó.Đhiểu
điều này chi tiết hơn, chúng ta hảy bắt đầu tìm hiểu cách paging trong i trường làm
việc của x86 Processer mc 3 kế tiếp.
3. Phân trang (Paging):
Trong b x x86 vùng địa chỉ vật (physical address space) được chia
thành các pages kích thước 4KB. Vì vậy để đánh địa chỉ 4GB bộ nh, chúng ta
cần 1 Megabyte (1024x1024) các trang (pages) kích thước 4KB.Bộ vi xử
dùng 2 lớp cu trúc để tham chiếu đến 1 Mega pages y. Chúng ta có th nghĩ nó
như một ma trn 2 chiu kích thước 1024x1024 các phần tử.Chiu thnhất
được biết đến như Page Directory và chiu thứ 2 được biết n Page Table.Vì
vậy chúng ta cần cài đt một Page Directory vi 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 1024 Page