Cho đến nay : Nạp toàn bộ tiến trình vào bộ nhơ rồi thực hiện nó. Chậm, lãng phí bộ nhớ Nếu kích thước tiến trình lớn hơn dung lương bộ nhớ chính ? Lưu ý : tại 1 thời điểm chỉ có một chỉ thị được thực hiện | BAØI 10 : BOÄ NHÔÙ AÛO 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 0x1000 0x3000 0x3000 jump 0x2000 jump 0x5000 0x7000 OS (base) Giaûi phaùp Naïp töøng phaàn chöông trình khi caàn thieát Demand paging Real memory Real memory Page0 emacs Time t2 t1 Page0 emacs Page1 Page2 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) P RAM DISK 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 RAM DISK # of references Memory address 10% RAM + 90% DISK 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 Truy xuaát ñeán moät trang chöa ñöôïc naïp vaøo boä nhôù : loãi trang (page fault) 17 1 4183 0 177 1 5721 0 Disk Mem Frame valid/invalid Xöû lyù loãi trang Boä nhôù vaät lyù M Boä nhôù aûo naïp M OS Baûng trang truy xuaát 1 2 loãi trang 3 xaùc ñònh vò trí löu trang treân ñóa 3’ swap out trang naïn nhaân 4 mang trang caàn truy xuaát vaøo boä nhôù 5 caäp nhaät baûng trang 6 taùi kích hoaït tieán trình frame troáng i Caùc caâu hoûi Choïn trang naïn nhaân ? => Chieán löôïc thay theá trang Choïn trang naøo ñeå naïp ? => Chieán löôïc naïp Chieán löôïc thay theá trang FIFO: trang “giaø” nhaát Coâng baèng ? Khoâng xeùt ñeán tính suû duïng ! TOÁI ÖU : trang laâu söû duïng ñeán nhaát trong töông lai Taàn suaát loãi trang thaáp nhaát Khoâng khaû thi ! LRU :trang laâu nhaát chöa söû duïng ñeán trong quaù khöù Döï ñoaùn töông lai LRU = MIN ? add victim AGBDCABCABCGABC victim Cur page AGBDCABCABCGABC victim Cur page Chieán löôïc . | BAØI 10 : BOÄ NHÔÙ AÛO 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 0x1000 0x3000 0x3000 jump 0x2000 jump 0x5000 0x7000 OS (base) Giaûi phaùp Naïp töøng phaàn chöông trình khi caàn thieát Demand paging Real memory Real memory Page0 emacs Time t2 t1 Page0 emacs Page1 Page2 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) P RAM DISK 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 RAM DISK # of references Memory address 10% RAM + 90% DISK Thöïc hieän Boä nhôù aûo Baûng trang : theâm 1 bit valid/invalid ñeå .