8.chap8 virtual memorymanagement

443 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
443
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

8.chap8 virtual memorymanagement

  1. 1. CHÖÔNG 8 : QUAÛN LYÙ BOÄ NHÔÙ AÛO <ul><li>Caùc chieán löôïc quaûn lyù boä nhôù aûo </li></ul><ul><li>Caùc giaûi thuaät thay theá trang </li></ul><ul><ul><li>Nguyeân taéc toái öu </li></ul></ul><ul><ul><li>Caùc giaûi thuaät: OPT, FIFO, LRU, LFU, NUR, dòp may thöù hai </li></ul></ul><ul><li>Tính cuïc boä ( locality ) </li></ul><ul><li>Lyù thuyeát veà taäp laøm vieäc ( working set ) </li></ul><ul><li>Baøi taäp </li></ul>
  2. 2. CAÙC CHIEÁN LÖÔÏC QUAÛN LYÙ BOÄ NHÔÙ AÛO <ul><li>Caùc chieán löôïc quaûn lyù </li></ul><ul><ul><li>Chieán löôïc naïp ( Fetch strategies ) </li></ul></ul><ul><ul><li>Chieán löôïc saép ñaët ( Placement strategies ) </li></ul></ul><ul><ul><li>Chieán löôïc thay theá( Replacement strategies ) </li></ul></ul><ul><li>Chieán löôïc naïp </li></ul><ul><ul><li>Naïp trang theo yeâu caàu ( Demand paging ) </li></ul></ul><ul><ul><li>Naïp trang tieân ñoaùn ( Anticipatory paging ) </li></ul></ul><ul><ul><li>Page fault vaø caùc böôùc xöû lyù page fault </li></ul></ul><ul><li>Chieán löôïc saép ñaët </li></ul><ul><li>Chieán löôïc thay theá </li></ul>
  3. 3. CAÙC GIAÛI THUAÄT THAY THEÁ TRANG <ul><li>Yeâu caàu : Toái thieåu soá page fault </li></ul><ul><li>Nguyeân taéc toái öu : Choïn trang thay theá laø </li></ul><ul><ul><li>1. Trang khoâng coøn duøng nöõa </li></ul></ul><ul><ul><li>2. Trang seõ khoâng duøng laïi trong thôøi gian xa nhaát </li></ul></ul><ul><li>Caùc tieâu chuaån (thöïc teá) ñeå choïn trang thay theá </li></ul><ul><ul><li>Caùc trang khoâng bò thay ñoåi </li></ul></ul><ul><ul><li>Caùc trang khoâng bò khoùa </li></ul></ul><ul><ul><li>Caùc trang khoâng thuoäc quaù trình nhieàu page fault </li></ul></ul><ul><ul><li>Caùc trang khoâng thuoäc taäp laøm vieäc cuûa quaù trình </li></ul></ul><ul><li>Moät soá giaûi thuaät thay theá trang </li></ul><ul><ul><li>Thay theá trang ngaãu nhieân </li></ul></ul><ul><ul><li>FIFO, LRU, giaûi thuaät xaáp xæ LRU, LFU, NUR </li></ul></ul>
  4. 4. GIAÛI THUAÄT TOÁI ÖU (OPT) <ul><li>Choïn trang thay theá laø trang seõ khoâng ñöôïc tham khaûo trong thôøi gian laâu nhaát </li></ul>Boä nhôù thöïc coù 3 frame 7 page fault Thôøi ñieåm t <ul><li>Nhaän xeùt? </li></ul>5 4 3 2 1 5 2 1 4 3 2 1 1 3 4 4 4 5 5 5 5 1 2 1 2 2 1 2 1 2 1 5 2 1 2 1 5 3 1 4 1 4 1 2 1 0 1 2 3 4 5 6 7 8 9 10 11
  5. 5. GIAÛI THUAÄT FIFO <ul><li>Choïn trang thay theá laø trang ôû trong boä nhôù thöïc trong khoaûng thôøi gian laâu nhaát </li></ul><ul><li>Nghòch lyù Belady </li></ul>5 4 3 2 1 5 2 1 4 3 2 1 1 3 3 3 2 2 2 4 4 1 2 4 2 1 4 1 4 1 5 2 1 5 1 5 2 3 5 3 5 3 5 2 1 Boä nhôù thöïc coù 3 frame 9 page fault Boä nhôù thöïc coù 4 frame 10á page fault 1 3 3 3 3 3 2 2 2 1 2 1 2 2 1 2 1 2 5 3 1 5 1 5 2 1 5 1 4 5 4 2 1 4 4 4 4 4 3 3 4 3
  6. 6. GIAÛI THUAÄT LRU ( Least Recently Used ) <ul><li>Choïn trang thay theá laø trang ñaõ khoâng ñöôïc tham khaûo trong thôøi gian laâu nhaát </li></ul><ul><li>Nhaän xeùt? </li></ul><ul><li>So saùnh vôùi FIFO </li></ul>Thôøi ñieåm t Chuoãi tham khaûo 5 4 3 2 1 5 2 1 4 3 2 1 1 3 3 3 2 2 2 2 2 1 2 4 2 1 4 1 4 1 5 2 1 5 1 5 2 1 3 4 3 4 5 2 1 Boä nhôù thöïc coù 3 frame 0 1 2 3 4 5 6 7 8 9 10 11
  7. 7. GIAÛI THUAÄT NUR (Not Used Recently) <ul><li>Laø giaûi thuaät xaáp xæ LRU </li></ul><ul><li>Duøng theâm 2 bit cho moãi trang </li></ul><ul><ul><li>Referenced bit R </li></ul></ul><ul><ul><li>Modified bit M (coøn goïi laø dirty bit) </li></ul></ul><ul><li>Trang seõ thuoäc 1 trong 4 nhoùm, thay theá trang seõ theo ñoä öu tieân cuûa nhoùm trang </li></ul>Thöù töï öu tieân thay theá trang giaûm daàn Ñaõ tham chieáu, ñaõ söûa ñoåi 1 1 Ñaõ tham chieáu, chöa söûa ñoåi 0 1 Chöa tham chieáu, ñaõ söûa ñoåi ? 1 0 Chöa tham chieáu, chöa söûa ñoåi 0 0 YÙ nghóa ñoái vôùi trang nhôù M R
  8. 8. DÒP MAY THÖÙ HAI (Second Chance) <ul><li>Laø giaûi thuaät xaáp xæ LRU </li></ul><ul><li>Coøn goïi laø giaûi thuaät FIFO caûi tieán </li></ul><ul><li>Moãi trang coù 1 bit tham chieáu R, luùc ñaàu laø 0 </li></ul><ul><li>Trang ñöôïc choïn xeùt thay theá theo kieåu FIFO. </li></ul><ul><ul><li>Trang coù R=0 seõ ñöôïc thay theá ngay </li></ul></ul><ul><ul><li>Trang coù R=1 ñöôïc ñöa vaøo cuoái haøng vaø ñaët laïi R=0. Heä thoáng choïn löïa caùc trang coøn laïi trong haøng ñôïi. </li></ul></ul><ul><li>Nhaän xeùt? </li></ul>
  9. 9. GIAÛI THUAÄT LFU ( Least Frequently Used ) <ul><li>Laø giaûi thuaät xaáp xæ LRU </li></ul><ul><li>Choïn trang thay theá laø trang coù taàn soá ñöôïc tham khaûo laø nhoû nhaát trong 1 khoaûng thôøi gian nhaát ñònh </li></ul><ul><li>Taïi t=11, neáu trong boä nhôù coøn 3 trang 2, 3, 4 ta seõ choïn trang 4 ñeå thay theá </li></ul><ul><li>Nhaän xeùt? </li></ul>Thôøi ñieåm t Chuoãi tham khaûo 5 4 3 2 3 3 2 2 4 3 2 1 0 1 2 3 4 5 6 7 8 9 10 11
  10. 10. LYÙ THUYEÁT VEÀ TÍNH CUÏC BOÄ ( Locality ) <ul><li>Tính cuïc boä veà thôøi gian ( temporal locality ) </li></ul><ul><ul><li>Caùc söï vieäc xaûy ra ôû thôøi ñieåm t raát coù theå ñang xaûy ra ôû caùc thôøi ñieåm laân caän ( t + dt, t – dt ) </li></ul></ul><ul><ul><li>Ví duï : moät vuøng nhôù ñang ñöôïc tham khaûo coù theå seõ ñöôïc tham khaûo ñeán trong töông lai gaàn </li></ul></ul><ul><li>Tính cuïc boä veà khoâng gian( spatial locality ) </li></ul><ul><ul><li>Bieán coá xaûy ra ôû moät vuøng raát coù theå ñang xaûy ra ôû caùc vuøng laân caän </li></ul></ul><ul><ul><li>Ví duï : nhöõng vuøng nhôù ñang ñöôïc tham khaûo gaàn ñaây thöôøng keà nhau </li></ul></ul><ul><li>YÙ nghóa </li></ul><ul><ul><li>Trong laäp trình </li></ul></ul><ul><ul><li>Trong OS : giaûi thuaät thay theá trang` </li></ul></ul>
  11. 11. KYÕ THUAÄT ÑEÄM TRANG ( Page Buffering ) <ul><li>Taïm thôøi giöõ laïi caùc trang ñöôïc choïn ñeå thay theå  traùnh taùc ñoäng cuûa giaûi thuaätt thay theá trang keùm hieäu quaû. Söû duïng 2 danh saùch </li></ul><ul><ul><li>Free page list </li></ul></ul><ul><ul><li>Modified page list </li></ul></ul><ul><li>Khi coù page fault, heä thoáng tìm xem trang caàn naïp coù coøn trong boä nhôù khoâng tröôùc khi naïp trang. </li></ul><ul><ul><li>Trang naïp seõ naïp vaøo ñaàu free page list </li></ul></ul><ul><ul><li>Modified page list duøng ñeå ghi caùc trang ra theo töøng cuïm nhieàu trang  giaûm chi phí I/O </li></ul></ul>
  12. 12. CAÙC VAÁN ÑEÀ KHAÙC <ul><li>Taàm vöïc thay theá trang ( resident scope ) </li></ul><ul><ul><li>Taàm vöïc cuïc boä : chæ choïn trang thay theá trong nhöùng trang cuûa quaù trình lieân quan </li></ul></ul><ul><ul><li>Taàm vöïc toaøn cuïc: choïn baát kyø trang naøo khoâng bò lock ñeå thay theá </li></ul></ul><ul><li>Soá frame caáp cho quaù trình ( resident set size ) </li></ul><ul><ul><li>Khoâng ñoåi ( fixed allocation ): chia ñeàu/ theo tæ leä kích thöôïc quaù trình </li></ul></ul><ul><ul><li>Thay ñoåi trong quaù trình chaïy ( variable allocation ) </li></ul></ul><ul><li>Ñieàu khieån taûi ( Load control ) </li></ul><ul><ul><li>Soá quaù trình caàn naïp vaøo boä nhôù ? </li></ul></ul>
  13. 13. LYÙ THUYEÁT VEÀ TAÄP LAØM VIEÄC <ul><li>Taäp laøm vieäc (working set-WS) = taäp nhöõng trang quaù trình caàn söû duïng ñeå laøm vieäc trong thôøi gian  (hình veõ) </li></ul><ul><li>Lyù töôûng: WS cuûa quaù trình naèm hoaøn toaøn trong boä nhôù chính </li></ul><ul><li>Theo doõi working set cuûa caùc quaù trình ntn? </li></ul>
  14. 14. BAØI TAÄP <ul><li>Tìm soá page fault töông öùng khi söû duïng OPT , FIFO , LRU ñeå thay theá trang vôùi chuoãi tham khaûo 2, 3 ,2, 1, 5, 2, 4, 5, 3, 2, 5, 2 & soà frame=3 . </li></ul><ul><li>Tìm thôøi gian truy caäp trung bình trong heä VM coù caùc thoâng soá veà thôøi gian phuïc vuï nhö sau: </li></ul>Thö töï truy caäp boä nhôù 10ms 100% Page fault 1us 75% Main memory 1ns 90% CPU cache Thôøi gian phuïc vuï Hit rate Boä nhôù

×