看板 Grad-ProbAsk 關於我們 聯絡資訊
請教各位大大,本來我以為我paging已經完全理解, 看到這一題我完全無法理解 這題明明是在問要有多少page table要有多少個page是嗎? 為什麼前面的回答都是幾張page table之類的 一個12 MB 的process 12M/4K=3K就是所有的pages數 理論上這不就是答案了? 第二題 就是level-2一個page table有2^10個entry 總共有3k個page table,所以需3k個level-2的page table entry 然侯加上三個level-1的page不是嗎? 想到後天要考試,這題不會就心酸,各位大大救救我@@ ※ 引述《polomoss (小澤)》之銘言: : ※ 引述《bernachom (Terry)》之銘言: : : 請教一下.. : : consider the following hardware configuration virtual address =32 bits, : : page size=4kbytes, and a page table entry occupies 4 bytes. : : How many pages should the OS allocate for the pages table of a 12Mbyte process : : under the following paging mechanisms? : : a)one-level paging : : b)two-level paging.(assuming that the number of entries in a first-level : : page table is the same as that in a second-level page table) : : ---- : : a)這題我是這樣算,2^20 * 4 = 4MB, 12MB/4MB=3個page table : : b)算出來答案很怪... : : 請教一下,b)這題要怎麼算呢? : : 謝謝幫忙 : ※更正一下,換個想法看看 : a) 12MB/4KB = 3K (代表這個process需要3K個page→代表PT需要3K個entry) : →再來計算 3K * 4byte = 12KB (代表這3K個entry佔12KB) : →12KB / 4KB = 3 (總共需要3個page) : b) 12MB /4KB =3K : →因為現在變成 2-level,所以第二層的PT只能貢獻2^10個entry : →由a知該Process需要3K個page : →3K / 2^10 = 3 (代表第二層需要3個page) : →還需要一個第一層對到第二層 : →3 + 1 = 4 : 盡量寫的比較完整 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.26.106 ※ 文章網址: https://www.ptt.cc/bbs/Grad-ProbAsk/M.1448116404.A.57A.html
odanaga: L1的1個PT對到L2的3個PT 後面就你想得那樣 11/21 23:16
goldflower: 1.其實是問page table的大小是幾個page 11/21 23:36
goldflower: 裡面算式中:3K為process在記憶體中會佔的page數 11/21 23:36
goldflower: 12Kb=page table的大小 接著把它除4kb 就變成這個 11/21 23:37
goldflower: page table有多少個page了 11/21 23:37
goldflower: How many pages should the OS allocate for the page 11/21 23:38
goldflower: table 也就是os要分多少個page存這個page table 11/21 23:38
goldflower: 應該是這樣...沒錯 11/21 23:39