作者iasm (I am Nobody)
看板Grad-ProbAsk
標題Re: [理工] [OS]-multi level paging
時間Sat Nov 21 22:33:21 2015
請教各位大大,本來我以為我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