作者aassxxzz (poyu~)
看板Grad-ProbAsk
標題Re: [理工] [OS]-清大92-資工所
時間Sat Feb 20 00:37:07 2010
其實我有個地方不解是題目第一行說的32-bit operation system
那32bit指的是data傳輸的大小還是address bit
若是data傳輸大小,不就變成是用word而不是byte address?
雖然很直觀的會想是byte吧?但會不會有是word的可能
※ 引述《taitin (小南)》之銘言:
: ※ 引述《luckyburgess (心安即自在)》之銘言:
: : 想請問第8題的(b).(c).(d) http://0rz.tw/mMLZP
: : 麻煩替小弟解答一下 感恩!!
: a.one-level page table:
: 4KB=2^12
: 2^32 / 2^12 = 2^20 pages,
: 2^20 entries,
: page table space:4* 2^20 bytes.
: =4MB
: b.
: first-level:4*256 bytes.
: second-level:4MB
: page table space:4*256bytes+4MB
: 約等於=4MB
: 註:mutilevel pagetable只能保證不佔用連續記憶體空間
這裡有點看不太懂
我的想法是first level是2^8個entry
所以已剩下的12bit來看(32-8-12)是屬於level2
所以level2的每個page table皆可容納2^12個page
但記憶體空間是2^26byte,換言之共是2^14個page
所以需要2^(14-12)=4個level2的 page table
所以level2所需的page table space是 4 * 2^12 *4byte = 2^16byte
再加上level1需要一個table去指向level2
所以level1的page table space 是1* 2^8 *4byte= 2^12byte
共2^12+ 2^16 byte
看可以不可以討論一下你的想法,因為你打的太省略我看不懂:p
: c.hashed paged table:
: 一個hashed location:
: page no.+frame no. = 20+20 = 40 bits
: 共有27個entries,page table space:27*40 bits.
: 約2^10bits=2^7bytes
: d.inverted page table:
: 假設PID碼為12bits(我不知道是多少,自己假設的)
: 一個entry:PID.+frame no. =12 +20 = 32 bits
: 共有個220 entries,page table space:220*32 bits.
: 約880bytes
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.122.217.131
※ 編輯: aassxxzz 來自: 122.122.217.131 (02/20 00:39)
※ 編輯: aassxxzz 來自: 122.122.217.131 (02/20 00:40)
→ taitin:32bits指的是adress bits 02/20 00:41
→ taitin:這樣算只有算到實體記憶體的部分,但是虛擬記憶體的部分就 02/20 00:42
→ taitin:沒算到了 02/20 00:43
→ taitin:對於每個虛擬位置來說,都要有一個存在的pagetable 02/20 00:44
→ taitin:系統讀取該page時,才有地方檢查是否已被載入實體記憶體中 02/20 00:45
→ aassxxzz:這樣的話multilevel不就是沒有省空間嗎?因為都要為虛擬 02/20 00:51
→ aassxxzz:位址來付出相對應大小的PMT不是嗎@@ 02/20 00:52
→ taitin:multilevel的確沒有省空間,只是避免連續記憶體分配 02/20 00:52
※ 編輯: aassxxzz 來自: 122.122.216.200 (02/20 01:42)
→ aassxxzz:大致瞭解了,所以根本沒有省空間是我記錯了XD,是只有省 02/20 02:03
→ aassxxzz:pagetable size的大小,謝謝我懂了:) 02/20 02:04