550 likes | 656 Views
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
E N D
10. Boä nhôù aûo Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM
Ñ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
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
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
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
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
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
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
Ñieàu khieån page-fault Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM
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
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
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
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
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
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
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
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
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
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
Belady’s anomaly Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM
Ví duï veà Belady’s anomaly Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM
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
Giaûi thuaät clock (second-chance) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM
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
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
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
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
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
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
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
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
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
Moâ hình Working Set (tt) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM
Minh hoïa moâ hình Working Set Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM
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
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
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
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
Cô cheá phaân trang coù TLB Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM
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
Ñò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
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
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
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
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
Memory-mapped files Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM
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
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
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
Hieän thöïc segmentation (tt) Khoa Coâng Ngheä Thoâng Tin – Ñaïi Hoïc Baùch Khoa Tp HCM