Bài giảng Hệ điều hành nâng cao - Chương 7: Bộ nhớ ảo - Trần Hạnh Nhi

BAØI 7 : BOÄ NHÔÙ AÛO  
OS  
test.exe  
0x3000  
0x7000  
test.exe  
jump 0x5000  
jump 0x2000  
0x3000  
(base)  
0x1000  
◼ Cho ñeán nay : Naïp toaøn boä tieán trình vaøo boä nhô roài  
thöïc hieän noù...  
◼
◼
Chaäm, laõng phí boä nhôù  
Neáu kích thöôùc tieán trình lôùn hôn dung löông boä nhôù chính  
?
◼
Löu yù : taïi 1 thôøi ñieåm chæ coù moät chæ thò ñöôïc thöïc hieän1  
Giaûi phaùp  
Real memory  
Real memory  
Page0  
Page0  
Page1  
Page2  
emacs  
emacs  
t1  
t2  
Time  
▪ Naïp töøng phaàn chöông trình khi caàn thieát  
▪ Demand paging  
2
Cô cheá  
▪ Söû duïng boä nhôù phuï ñeå löu tröõ taïm thôøi caùc trang chöa söû  
duïng  
▪ Ai chòu traùch nhieäm chuyeån ñoåi ?  
▪ Laäp trình vieân Overlay  
▪ Heä ñieàu haønh : Boä nhôù aûo Virtual Memory)  
DISK  
P
3
RAM  
Boä nhôù aûo = “lôøi noùi doái vó ñaïi“  
▪ Ngöôøi duøng : sôû höõu boä nhôù “voâ haïn”, “rieâng bieät”  
▪ Heä ñieàu haønh : “thaàm laëng” thöïc hieän quaù trình swapping  
10% RAM  
+
90% DISK  
Memory address  
DISK  
4
RAM  
Thöïc hieän Boä nhôù aûo  
▪ Baûng trang : theâm 1 bit valid/invalid ñeå nhaän dieän  
trang  
ñaõ hay chöa ñöôïc naïp vaøo RAM  
valid/invalid  
Frame  
17 1  
Disk  
4183 0  
177 1  
5721 0  
Mem  
▪ Truy xuaát ñeán moät trang chöa ñöôïc naïp vaøo boä  
nhôù :  
5
loãi trang (page fault)  
Xöû lyù loãi trang  
xaùc ñònh vò trí löu trang  
treân ñóa  
loãi trang  
3
OS  
2
3’  
M
truy xuaát  
swap out  
1
trang naïn  
nhaân  
i
naïp  
M
6
Baûng trang  
taùi kích  
hoaït tieán  
trình  
frame troáng  
mang  
5
4
Boä nhôù  
aûo  
trang caàn  
truy xuaát  
caäp nhaät  
baûng trang  
Boä nhôù vaät lyù  
vaøo boä nhôù  
6
Caùc caâu hoûi  
1. Choïn trang naïn nhaân ? => Chieán löôïc thay theá  
trang  
2. Choïn trang naøo ñeå naïp ? => Chieán löôïc naïp  
7
Chieán löôïc thay theá trang  
victim  
add  
◼ FIFO: trang “giaø” nhaát  
◼
Coâng baèng ?  
◼
Khoâng xeùt ñeán tính suû duïng !  
victim  
◼ TOÁI ÖU : trang laâu söû duïng  
ñeán nhaát trong töông lai  
AGBDCABCABCGABC  
◼
Taàn suaát loãi trang thaáp nhaát  
Khoâng khaû thi !  
Cur page  
victim  
◼
◼ LRU :trang laâu nhaát chöa söû  
AGBDCABCABCGABC  
duïng ñeán trong quaù khöù  
Cur page  
◼
Döï ñoaùn töông lai LRU = MIN  
?
8
Chieán löôïc naïp  
◼ Demand paging : naïp trang ñöôïc yeâu caàu  
◼
Khi naøo ?  
◼
Naïp sau : taàn suaát loãi trang cao ? => pure demand  
paging  
◼
Naïp tröôùc : laøm sao bieát ? =>prepaging  
ld page  
...  
ld init pages  
ld page  
ld page  
init pages = ?  
9
Thrashing = aûo töôûng suïp ñoå !  
◼ Caùc tieán trình trong heä thoáng yeâu caàu boä nhôù nhieàu  
hôn khaû naêng cung caáp cuûa heä thoáng !  
P3  
P2  
P1  
Real mem  
▪ Taát caû tieán trình ñaàu baän roän xöû lyù loãi trang !  
▪ IO hoaït ñoäng 100 %, CPU raûnh !  
▪ Heä thoáng ngöøng treä  
10  
Nguyeân nhaân Thrashing  
1. Tieán trình khoâng taùi söû duïng boä nhôù (quaù khöù !=  
töông lai)  
2. Tieán trình taùi söû duïng boä nhôù, nhöng vôùi kích thöôc  
lôùn hôn  
▪ Chæ coù theå kieåm soaùt thrashing do nguyeân nhaân 3.  
3. Quaù nhieàu tieán trình trong heä thoáng  
11  
Giaûi quyeát thrasing vôùi moâ hình Working set  
▪ Working set = taäp hôïp caùc trang tieán trình ñang truy  
xuaát taïi 1 thôøi ñieåm.  
▪ Heä ñieàu haønh :  
▪ Chæ naïp moät tieán trình khi coù ñuû khung trang töï do  
cho working set cuûa noù.  
▪ Kieåm soaùt möùc ñoä ña chöông cuûa heä thoáng : Neáu  
toång soá khung trang yeâu caàu cuûa caùc tieán trình  
trong heä thoáng vöôït quaù caùc khung trang coù theå söû  
duïng, choïn moät tieán trình ñeå taïm döøng, ngöôïc laïi,  
khi toång working set beù hôn soá khung trang töï do,  
12  
naïp theâm tieán trình.  
ppt 12 trang Thùy Anh 15520 Free
Bạn đang xem tài liệu "Bài giảng Hệ điều hành nâng cao - Chương 7: Bộ nhớ ảo - Trần Hạnh Nhi", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pptbai_giang_he_dieu_hanh_nang_cao_chuong_7_bo_nho_ao_tran_hanh.ppt