1 / 55

10. Boä nhôù aûo

10. Boä nhôù aûo. Ñaùnh giaù moâ hình simple paging/segmentation. Simple paging/segmentation Caùc tham chieáu ñeán boä nhôù laø luaän lyù, ñöôïc chuyeån ñoåi ñoäng thaønh ñòa chæ thöïc luùc quaù trình thöïc thi

Download Presentation

10. Boä nhôù aûo

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 10. Boä nhôù aûo Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  2. Ñaùnh giaù moâ hình simple paging/segmentation • Simple paging/segmentation • Caùc tham chieáu ñeán boä nhôù laø luaän lyù, ñöôïc chuyeån ñoåi ñoäng thaønh ñòa chæ thöïc luùc quaù trình thöïc thi • Moät process coù theå ñöôïc chia thaønh caùc phaàn nhoû (page hay segment) vaø naïp vaøo caùc vò trí khoâng lieân tuïc trong boä nhôù chính • Nhaän xeùt • caùc phaàn cuûa moät chöông trình khoâng nhaát thieát phaûi naïp vaøo boä nhôù chính taïi cuøng moät thôøi ñieåm • Ví duï • Ñoaïn maõ ñieàu khieån caùc loãi hieám khi xaûy ra • Caùc arrays, list, tables ñöôïc caáp phaùt boä nhôù (caáp phaùt tónh) nhieàu hôn yeâu caàu caàn thieát • Moät soá tính naêng ít khi ñöôïc duøng cuûa moät chöông trình • Ngay caû khi toaøn boä chöông trình ñeàu caàn duøng thì vaãn khoâng caàn duøng toaøn boä cuøng moät luùc  Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  3. Söï thöïc thi vôùi boä nhôù aûo cuûa process • Heä ñieàu haønh chæ naïp moät phaàn nhoû cuûa chöông trình vaøo boä nhôù • Khi coù moät leänh tham chieáu ñeán phaàn khoâng coù trong boä nhôù chính thì moät ngaét meàm ñöôïc kích hoaït goïi laø memory fault (page fault, segmentation fault) • Heä ñieàu haønh chuyeån process veà traïng thaùi blocked • Heä ñieàu haønh phaùt ra moät yeâu caàu ñoïc ñóa ñeå naïp phaàn ñöôïc tham chieáu vaøo boä nhôù chính. Trong khi ñoù, moät quaù trình khaùc ñöôïc chieám quyeàn thöïc thi. • Sau khi ñoïc ghi ñóa hoaøn taát, moät ngaét meàm ñöôïc kích hoaït, baùo cho heä ñieàu haønh ñeå chuyeån process töông öùng trôû laïi traïng thaùi ready Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  4. Cô cheá boä nhôù aûo • Khoâng gian nhôù tham chieáu bôûi moät ñòa chæ luaän lyù ñöôïc goïi laø boä nhôù aûo (virtual memory) • Coù theå hình dung khoâng gian nhôù aûo bao goàm boä nhôù thöïc vaø boä nhôù thöù caáp. • Nhaèm ñaït hieäu quaû cao, caùc dòch vuï file system thöôøng ñöôïc boû qua; ñoïc/ghi ñóa tröïc tieáp vôùi caùc khoái döõ lieäu lôùn hôn so vôùi khoái cuûa heä thoáng file. • Thoâng thöôøng phaàn boä nhôù aûo ñöôïc löu tröõ ôû moät vuøng ñaëc bieät goïi laø khoâng gian traùo ñoåi (swap space). Ví duï file system swap trong Unix/Linux, file pagefile.sys trong W2K/XP • Nguyeân lyù cuïc boä (locality principle) laø cô sôû chuû yeáu cuûa cô cheá boä nhôù aûo. • Öu ñieåm cuûa cô cheá boä nhôù aûo? Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  5. The CPU sends virtualaddresses to the MMU CPU package CPU Disk controller Memory MMU (Memory Management Unit) Bus The MMU sends physicaladdresses to the memory Cô cheá boä nhôù aûo Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  6. Leänh MOV REG,0  MMU  page #0  frame #2  ñòa chæ thöïc laø 8192 Leänh MOV REG, 8192  MMU  page #2  frame #6  ñòa chæ thöïc laø 24576 (=24K) Leänh MOV REG, 20500 = 20K + 20 MMU  page #5  frame #3  ñòa chæ thöïc laø 12K + 20 = 12308 Leänh MOV REG, 32780 = 32K + 12  MMU  page #8  ? Ví duï cô cheá boä nhôù aûo (paging) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  7. Toå chöùc beân trong cuûa MMU page = 4K 16 pages Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  8. Hieän thöïc cô cheá boä nhôù aûo • Ñeå cô cheá boä nhôù aûo laøm vieäc hieäu quaû, heä thoáng caàn thoûa hai phaàn sau • Phaûi coù söï hoã trôï cuûa phaàn cöùng cho cô cheá phaân trang hay phaân ñoaïn • Heä ñieàu haønh caàn coù boä phaän quaûn lyù vieäc hoaùn chuyeån caùc trang/ñoaïn giöõa boä nhôù thöù caáp vaø boä nhôù thöïc. • Hieän thöïc cô cheá boä nhôù aûo • Demand paging • Segmentation • Hybrid (paging vaø segmentation) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  9. Ñieàu khieån page-fault Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  10. Cô cheá demand paging (tt) Memory Map (Page Table) Backing store Modified-bit Physical Memory (32~512MB) Present-bit Virtual Memory (4GB) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  11. Tham chieáu trong demand paging Memory Map (Page Table) A B C D E F Backing store Modified-bit Physical Memory (32 – 512 MB) Present-bit Virtual Memory (4GB) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  12. Page fault trong demand paging paging routine Memory Map (Page Table)     A B C D E F Backing store Modified-bit Physical Memory (32 – 512 MB) Present-bit Virtual Memory (4GB) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  13. Page fault (tt) paging routine Memory Map (Page Table)  A B C D E F Backing store Modified-bit Physical Memory (32 – 512 MB) Present-bit Virtual Memory (4GB) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  14. Hieän thöïc demand paging • Hieäu suaát demand paging • Goïi p = xaùc suaát xaûy ra page fault • Thôøi gian truy caäp hieäu duïng (effective access time) EA EA = (1 - p)  memory_access + p  fault_access • fault_access = page fault overhead + swap page out + swap page in + restart overhead. • Hieäu suaát caøng cao khi leänh truy caäp boä nhôù ít gaây ra page fault • Chieán löôïc naïp (fetch policy) • demand paging • pre-paging (hay anticipated paging) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  15. Hieän thöïc demand paging (tt) • Khi xaûy ra page fault, heä ñieàu haønh thöïc hieän caùc böôùc sau • chuyeån traïng thaùi process sang blocked • choïn moät trang ñeå thay theá (page replacement algorithm) • ñaùnh daáu invalid trang ñöôïc choïn • khôûi ñoäng vieäc naïp trang môùi vaøo boä nhôù (disk I/O) • chuyeån thöïc thi cho process khaùc trong luùc I/O ñang thöïc hieän • nhaän interrupt baùo I/O hoaøn taát (i.e. ñaõ naïp xong trang nhôù môùi) • caäp nhaät entry töông öùng trong page table (hay memory map) • chuyeån traïng thaùi process veà ready • Khi boä nhôù chính coù choã troáng vaø chuùng ta tieán haønh naïp vaøo ñoù moät trang nhôù  page fault. Tuy nhieân, khi so saùnh caùc giaûi thuaät thì chuùng ta coù theå boû qua soá page-fault khôûi ñaàu vì ñaïi löôïng naøy nhö nhau ñoái vôùi moïi giaûi thuaät Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  16. Page replacement algorithm • Giaûi thuaät thay theá trang • MIN (a.k.a OPT) • Least Recently Used (LRU) • First-In, First-Out (FIFO) • Clock (second-chance) • Not Recently Used (NRU) • Caùc giaûi thuaät thay theá trang phuï thuoäc vaøo resident set (soá frame caáp cho moãi process) • Muïc tieâu: giaûm thieåu page-fault • Ví duï: thöù töï tham chieáu caùc ñòa chæ nhôù (vôùi page size = 100): 0200, 0332, 0201, 0112, 0502, 0203, 0404, 0501, 0311, 0202, 0503, 0204, ... Vaäy, thöù töï caùc trang nhôù ñöôïc tham chieáu laø 2  3  2  1  5  2  4  5  3  2  5  2  chuoãi tham chieáu boä nhôù Giaû söû resident set = 3 Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  17. Giaûi thuaät MIN (a.k.a OPT) • Giaûi thuaät MIN hay optimal (OPT) • Thay theá trang nhôù ñöôïc tham chieáu treã nhaát trong töông lai • Moãi trang nhôù ñöôïc gaén nhaõn laø moät soá nguyeân khoâng aâm, coù giaù trò baèng soá leänh ñöôïc seõ thöïc thi tröôùc khi tham chieáu ñeán trang ñoù. • Trang nhôù coù nhaõn lôùn nhaát seõ bò thay theá • Toái öu soá page faults • Khoâng theå hieän thöïc ñöôïc. Vì sao? Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  18. Least Recently Used (LRU) • Thay theá trang nhôù khoâng ñöôïc tham chieáu laâu nhaát • Trong baûng phaân trang, moãi trang ñöôïc ghi nhaän thôøi ñieåm ñöôïc tham chieáu • Trang LRU laø trang nhôù coù giaù trò thôøi gian tham chieáu nhoû nhaát (toán chi phí tìm trang LRU moãi khi coù page fault) • LRU caàn söï hoã trôï cuûa phaàn cöùng vaø toán chi phí cao cho vieäc tìm kieám. Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  19. Giaûi thuaät FIFO • Xem caùc frame ñöôïc caáp phaùt cho process nhö laø circular buffer • Trang nhôù cuõ nhaát seõ ñöôïc thay theá: first-in, first-out Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  20. Belady’s anomaly Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  21. Ví duï veà Belady’s anomaly Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  22. Giaûi thuaät clock (second-chance) • YÙ töôûng töông töï FIFO nhöng cho cô hoäi thöù hai • Giaûi thuaät • Resident set cuûa moãi process ñöôïc hieän thöïc daïng circular buffer • Khi moät trang ñöôïc thay theá, con troû seõ chæ ñeán frame keá tieáp trong circular buffer • Moãi frame coù moät use-bit. Bit naøy ñöôïc thieát laäp trò 1 khi • Trang nhôù ñöôïc naïp laàn ñaàu vaøo frame • Coù tham chieáu tôùi ñòa chæ thuoäc trang chöùa trong frame • Khi caàn thay theá moät trang nhôù, trang nhôù naèm treân frame ñaàu tieân coù use bit baèng 0 seõ ñöôïc thay theá. • Trong suoát quaù trình tìm trang nhôù thay theá, giaûi thuaät clock seõ reset veà giaù trò 0 caùc use-bit cuûa frame treân ñöôøng ñi qua. Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  23. Giaûi thuaät clock (second-chance) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  24. So saùnh clock, FIFO vaø LRU • Daáu *: use bit töông öùng ñöôïc thieát laäp trò 1 • Giaûi thuaät Clock baûo veä caùc trang thöôøng ñöôïc tham chieáu baèng caùch thieát laäp use bit baèng 1 vôùi moãi laàn tham chieáu • Moät soá keát quaû thöïc nghieäm cho thaáy clock coù hieäu suaát gaàn vôùi LRU Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  25. Giaûi thuaät NRU - Not Recently Used • Moãi muïc trong page table coù theâm 2 bit laø M (modified) vaø R (referenced: read, write) • Khôûi ñaàu: R = M = 0 • Khi trang nhôù ñöôïc tham chieáu thì thieát laäp R = 1 • Khi coù thay ñoåi noäi dung trang nhôù thì thieát laäp M = 1 • Ñònh kyø (e.g. clock tick ~ 20ms) heä ñieàu haønh seõ xoùa bit R (i.e. R = 0). Taïi sao? • Khi coù page fault xaûy ra, heä ñieàu haønh xem xeùt taát caû trang nhôù vaø chia thaønh 4 loaïi döïa treân giaù trò cuûa R vaø M • Loaïi 1: khoâng tham chieáu (R=0), khoâng caäp nhaät (M=0) • Loaïi 2: khoâng tham chieáu (R=0), coù caäp nhaät (M=1) • Loaïi 3: coù tham chieáu (R=1), khoâng caäp nhaät (M=0) • Loaïi 4: coù tham chieáu (R=1), coù caäp nhaät (M=1) • NRU seõ thay trang nhôù ñaàu tieân ôû loaïi nhoû hôn tröôùc. Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  26. Kích thöôùc trang nhôù (page size) • Caùc yeáu toá aûnh höôûng • Söï phaân maûnh • Kích thöôùc baûng phaân trang • Kích thöôùc block ñoïc/ghi ñóa Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  27. Hieän thöïc demand paging (tt) • Kích thöôùc resident set (RS) • OS quyeát ñònh caáp cho moãi process bao nhieâu frame? • Caáp phaùt tónh (fixed-allocation) • Caáp phaùt ñoäng (variable-allocation) page fault rate N W resident set size Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  28. Caáp phaùt tónh • Baèng nhau – Ví duï, coù 100 frame vaø 5 process  moãi process ñöôïc 20 frame • Theo tæ leä – döïa vaøo kích thöôùc process Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  29. Hieän thöïc demand paging (tt) • Taàm vöïc thay theá trang (replacement scope) • Local vs. Global • Keát hôïp • Fixed-allocation + local replacement • Fixed-allocation + global replacement (?) • Variable-allocation + local replacement (WinNT) • Variable-allocation + global replacement (UNIX SystemV R4) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  30. Hieän thöïc demand paging (tt) • Thrashing • Neáu moät process khoâng coù ñuû soá frame caàn thieát  tæ suaát page-fault raát cao. Ví duï: moät voøng laëp N laàn, moãi laàn tham chieáu ñeán ñòa chæ naèm trong 4 trang nhôù trong khi ñoù process chæ ñöôïc caáp 3 frames. 1 2 3 4 2 3 4 1 3 4 1 2 3 1 2 Löôïc ñoà thrashing Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  31. Moâ hình locality • Ñeå haïn cheá thrashing, chuùng ta phaûi cung caáp cho process caøng “ñuû” frame caøng toát?  döïa treân moâ hình locality • Moâ hình locality • locality laø moät taäp caùc trang thöôøng hay ñöôïc tham chieáu cuøng nhau (chuoãi con tham chieáu caùc trang naøy thöôøng xuaát hieän) • Moät chöông trình thöôøng goàm nhieàu locality vaø trong quaù trình thöïc thi, process seõ chuyeån töø locality naøy sang locality khaùc • Ví duï khi moät thuû tuïc ñöôïc goïi thì seõ coù moät locality môùi. Trong locality naøy, tham chieáu boä nhôù bao goàm leänh cuûa thuû tuïc, bieán cuïc boä vaø moät phaàn bieán toaøn cuïc. Khi thuû tuïc keát thuùc, process seõ thoaùt khoûi locality naøy • Vì sao hieän töôïng thrashing xuaát hieän ? size_of_locality > memory size Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  32. Moâ hình Working Set • Döïa treân giaû thieát veà locality • Ñònh nghóa   working-set window • WSi , working set cuûa process Pi , laø taäp caùc trang ñöôïc tham chieáu trong khoaûng  •  quaù nhoû  khoâng ñuû bao phuû toaøn boä locality. •  quaù lôùn  phuû laáp nhieàu locality. •     bao goàm toaøn boä chöông trình. • D =  kích thöôùc cuûa WSi • D > soá frame cuûa heä thoáng  xaûy ra thrashing Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  33. Moâ hình Working Set (tt) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  34. Minh hoïa moâ hình Working Set Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  35. Moâ hình taàn suaát page-fault • Duøng taàn suaát page-fault frequency ñeå ñieàu chænh möùc ñoä page-fault rate. • Taàn suaát quaù thaáp  process coù quaù nhieàu frame, giaûm bôùt. • Taàn suaát quaù cao  process caàn theâm frame. Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  36. Hieän thöïc baûng phaân trang • Baûng phaân trang ñöôïc löu giöõ trong boä nhôù chính (kernel memory) • Moãi process coù moät baûng phaân trang vôùi nhieàu muïc (entry) • Thanh ghi page-table base (PTBR) troû ñeán baûng phaân trang • Thanh ghi page-table length (PTLR) = kích thöôùc cuûa baûng phaân trang (vaø duøng ñeå baûo veä boä nhôù) Moät entry tieâu bieåu cuûa page table Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  37. Hieän thöïc baûng phaân trang • Moãi taùc vuï truy caäp döõ lieäu/leänh caàn hai thao taùc truy xuaát vuøng nhôù • Döõ lieäu/leänh ñöôïc ñònh vò baèng ñòa chæ aûo A(p, d) • Thao taùc truy xuaát ñònh vò trong page table p  f • Thao taùc truy xuaát döõ lieäu/leänh = f + d • Phaàn cöùng hoã trôï cache toác ñoä cao - associative register hay translation look-aside buffers (TLBs) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  38. TLB a.k.a associative registers • TLB (translation look-aside buffers): hoã trôï tìm kieám truy xuaát döõ lieäu ñoàng thôøi vôùi toác ñoä cöïc nhanh. Soá muïc cuûa TLB khoaûng 8  2048 TLB laø “cache” cuûa baûng phaân trang Khi coù chuyeån ngöõ caûnh, TLB bò xoùa Khi TLB bò ñaày, thay theá baèng LRU Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  39. Cô cheá phaân trang coù TLB Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  40. Hierarchical page table • Caùc heä thoáng hieän ñaïi coù khoâng gian ñòa chæ raát lôùn (232 hay 264). • Kích thöôùc trang nhôù laø 4KB baûng phaân trang ~ 232/212= 1Mentries • Entry coù kích thöôùc 32-bit  moãi process caàn 4MB • Moät giaûi phaùp ñöôïc ñaët ra laø chia thaønh nhieàu baûng phaân trang  baûng phaân trang ña möùc (multilevel paging table). • Intel Pentium-II coù cô cheá taïo baûng phaân trang 2-möùc (two-level page table), hay coøn goïi laø forward-mapped page table A Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  41. Ñòa chæ luaän lyù treân heä thoáng 32-bit, trang nhôù 4K Page # (p): 20 bit Offset (d): 12 bit Page number goàm 2 phaàn: 10-bit page number 10-bit page offset page # offset page # offset p1 p2 d 20 bit 12 bit 10 bit 12 bit 10 bit Baûng phaân trang 2-möùc Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  42. page number page number page number page number page offset page offset page offset page offset 52 12 42 10 12 32 10 10 2 22 10 10 10 2 Phaân trang ña möùc (multilevel) • Khoâng gian ñòa chæ luaän lyù 64-bit vôùi trang nhôù 4K • Soá muïc cuûa baûng phaân trang = 252 . • Thöïc hieän töông töï, phaân chia thaønh baûng 3, 4,..., n-möùc • SPARC 32-bit - cô cheá 3-möùc, UltraSPARC 64-bit 7-möùc • Motorolla 68030 32-bit - cô cheá 4-möùc. • Hieäu suaát? …… Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  43. Inverted page table Ví du PowerPC, IBM RISK 6000 Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  44. Chia seû caùc trang nhôù Process 1 ed 1 0 3 ed 2 4 1 Process 2 6 2 ed 3 1 ed 1 3 0 3 data 1 ed 2 4 1 6 2 ed 3 7 3 ed 1 data 2 0 3 ed 2 4 1 ed 2 6 2 2 3 data 3 Process 3 Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  45. Moät soá vaán ñeà trong demand paging • Cô cheá Copy-on-Write (COW) • cho pheùp process boá vaø con chia seû trang nhôù luùc process con môùi ñöôïc taïo ra • Caùc trang ñoù ñaùnh daáu write-protected. Taïi sao? • Neáu moät trong caùc process caäp nhaät trang chia seû  copy thaønh caùc trang nhôù rieâng cho moãi process • Memory-mapped file I/O • Khi moät file ñöôïc môû daïng memory-mapped  duøng demand paging naïp theo ñôn vò trang nhôù • Duøng leänh truy xuaát boä nhôù ñeå truy xuaát file thay vì duøng system calls nhö read(),write() • Cho pheùp nhieàu process chia seû mapped-file Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  46. Memory-mapped files Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  47. Moät soá vaán ñeà trong demand paging • Caáu truùc chöông trình vaø page faults • int A[1024][1024]; • Moãi haøng löu trong moät trang nhôù • Ví duï 1 for (j = 0; j < 1024; j++) for (i = 0; i < 1024; i++) A[i, j] = 0;1024 x 1024 page faults • Ví duï 2 for (i = 0; i < 1024; i++) for (j = 0; j < 1024; j++) A[i, j] = 0; 1024 page faults • Column-major vs. row-major? Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  48. Moät soá vaán ñeà trong demand paging Frames duøng I/O vaø locked page Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  49. Hieän thöïc segmentation • Ñòa chæ luaän lyù laø moät caëp giaù trò A(s, d) = A(segment-number, offset) • Moãi process coù baûng phaân ñoaïn (segment table) • base • limit • valid-bit • Segment-table base register: troû ñeán vò trí baûng phaân ñoaïn trong boä nhôù • Segment-table length register (STLR): toång soá segment • moät chæ soá segment s laø hôïp leä iff s < STLR • Segment placement policy • best-fit, first-fit, next-fit, worst-fit,... • Segment replacement policy (?) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

  50. Hieän thöïc segmentation (tt) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM

More Related