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

BAØI 10 : 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än  
1
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  
Frame valid/invalid  
17 1  
4183 0  
177 1  
5721 0  
Disk  
Mem  
Truy xuaát ñeán moät trang chöa ñöôïc naïp vaøo boä nhôù :  
loãi trang (page fault)  
5
Xöû lyù loãi trang  
xaùc ñònh vò trí löu trang treân ñóa  
3
OS  
loãi trang  
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 trang  
caàn truy xuaát  
vaøo boä nhôù  
5
4
Boä nhôù aûo  
caäp nhaät  
baûng trang  
Boä nhôù vaät lyù  
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  
3. Quaù nhieàu tieán trình trong heä thoáng  
Chæ coù theå kieåm soaùt thrashing do nguyeân nhaân 3.  
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, naïp theâm tieán trình.  
12  
ppt 12 trang Thùy Anh 27/04/2022 4920
Bạn đang xem tài liệu "Bài giảng Hệ điều hành nâng cao - Chương 10: 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_10_bo_nho_ao_tran_han.ppt