看板 Grad-ProbAsk 關於我們 聯絡資訊
logical address space : 32-bit page table size : 4KB Assume two-level paging level-1 : 10-bit level-2 : 10-bit page offset : 12-bit page table entry : 4B (each) 假設有一個40MB的process,利用此種 方法配置 最少需要多少memory space才可以儲 存所有page table? 請問有高手能幫我解答這題嗎@@ 看解答有點混亂.... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 115.80.18.32
lion15945:40MB/4KB = 10240,所以此process會有10240個pages 02/17 16:18
lion15945:這麼多的pages,想必無法用連續空間配置 02/17 16:18
lion15945:所以採用2level paging 02/17 16:19
lion15945:然後由level-1:10 bit得知 level-1 PT最多可以記錄 02/17 16:20
lion15945:2^10=1024個 pages 02/17 16:21
lion15945:然後由level-2:10 bit得知 level-2 PT最多可以記錄 02/17 16:22
lion15945:2^10=1024個 pages 02/17 16:22
lion15945:所以10240個pages 需要10240/1024 = 10個 level-2 PT 02/17 16:23
lion15945:而這10個level-2 PT 需要1個level-1 PT記錄它們 02/17 16:24
lion15945:所以所有的"PT"在記憶體就佔了11個frames 02/17 16:25
lion15945:一個frame和一個page大小是一樣的=2^12=4KB 02/17 16:25
lion15945:所以需要11*4KB=44KB的memory space 02/17 16:26
lion15945:這樣應該跟答案一樣吧 XD 02/17 16:28
gn123:先算process要多少2-level table,再算這些2-level要多少one- 02/17 17:42
gn123:level來point, 02/17 17:42
bin272max:謝謝兩位!! :) 02/17 18:35
kyodaisuki:不懂 為什麼不是 11*4 B = 44 byte? 02/17 19:37
kyodaisuki:存一個地址 不是用到一個frame去存 而是用一個entry吧 02/17 19:38
lion15945:因為一個PT在frame裡面 不管你是只用了一個entry 02/17 20:26
lion15945:還是用了所有的entries 它就是佔用了一個frame 02/17 20:27
lion15945:而且一直以來考古題碰到這樣的題目都是這樣解的 02/17 20:28
cola1230:K大是對的 板上lexa問過一樣的問題 可搜尋看看解答 02/17 20:54
lion15945:同樣題目那篇? 02/17 20:59
lion15945:它答案也是求44KB 02/17 21:00
lion15945: 2^10 * 4B + 10 * 2^10 * 4B = 44K這個的意思 02/17 21:00
lion15945:不是跟1*4KB+10*4KB的意思一樣嗎? 02/17 21:01
lion15945:另外它推文我不清楚它的意思 level-2 PT確實是只有10個 02/17 21:03
lion15945:1024個應該是一個level-2 PT有1024個entries才對 02/17 21:04
lion15945:這樣算式採"去計算總共有幾個entries 一個entry 4B" 02/17 21:05
lion15945:才搭得起來 02/17 21:05
lion15945:總之就是兩個想法 兩個公式 答案應都要一樣 02/17 21:08
bin272max:不好意思我還有個疑問是,為什麼40MB 02/17 21:20
bin272max:除以PT size 4KB,而不是Page size 4Byte? 02/17 21:21
bin272max:如果要算40MB佔多少page,不是除以每個page的size嗎? 02/17 21:22
lion15945:4B是 "Page Table entry"的大小 不是一個Page的大小 02/17 21:22
lion15945:另外4KB和一個Page的大小相等是不謀而合的 02/17 21:23
lion15945:一個Page的大小=4KB也可以從offset=12 bit得知 02/17 21:23
sting47:每個page size是4KB啊 offset 12bits->4KB 02/17 21:24
lion15945:我會說不謀而合 是因為multilevel paging的技術 02/17 21:24
lion15945:就是讓某些frame內 只放Page Table 02/17 21:24
lion15945:所以整塊PT的大小 = frame的大小 = page的大小 02/17 21:25
s110042:可是應該是要除以PAGE大小~不是PAGE TABLE大小吧? 02/17 21:29
bin272max:對吼!!!@@...感謝大家不吝教導T__T 02/17 21:29
lion15945:樓樓上 沒錯 不過在這裡這兩個東西相等罷了 02/17 21:31
kyodaisuki:我看錯題目意思了= = 我這樣11個頁面存不到全部 02/18 15:27