看板 Grad-ProbAsk 關於我們 聯絡資訊
其實我有個地方不解是題目第一行說的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