[理工] OS Inverted Page Table的問題

作者: ok8752665 (dd8752665)   2019-09-21 21:20:10
想問說
為什麼這種方法可以縮減page table size
即使有多個page table其entry總數也比實體記憶體的entry少吧
我哪裡搞錯了嗎
作者: bitetw (老師)   2019-09-21 22:19:00
如果每個process的page table會比physical memory小的話就不用virtual memory 了吧啊抱歉以上有誤xd
作者: ok8752665 (dd8752665)   2019-09-21 22:34:00
目前上課講的是main memory 應該還跟virtual沒關係吧
作者: DLHZ ( )   2019-09-21 23:50:00
page table每個process都一個 inverted的話整個系統只有一個所以會說inverted無法share memory
作者: KaryuuIssen (一閃)   2019-09-22 04:18:00
Page table是Lookup table entry總數是固定的總大小隨Process數目等比例增長
作者: ok8752665 (dd8752665)   2019-09-22 08:04:00
所以 一般的page table裡面可能會有一堆空白欄位嗎@DLHZ 你的意思是藉由去除share memory特性來降低table大小嗎
作者: DLHZ ( )   2019-09-22 11:15:00
原本每個process都拿一個table process一多自然table就開始佔空間了 如果用inverted那就是用一個table記錄哪些記憶體被那個process拿去 但是當然就只能記錄一個 所以就算其他process要用同樣的內容也沒辦法 只能自己再找個記憶體搬進去
作者: ok8752665 (dd8752665)   2019-09-22 12:11:00
所以各個table大小是一樣的嗎 我是想說每個process的entry都對到一個memory的frame 所以總數不會超過那張大tablehttp://i.imgur.com/plGHFkR.jpg 像是這樣 沒memory share的情況下 左邊的entry小於等於右邊的entry數
作者: DLHZ ( )   2019-09-22 13:27:00
這邊不太確定 process的page table大小應該是取決於binding時分配的大小 給的大一點page table就要大一點大部分都有提到是最大的size怎麼計算但好像沒特別說到底多大
作者: ok8752665 (dd8752665)   2019-09-22 15:04:00
好ㄅ
作者: KaryuuIssen (一閃)   2019-09-22 17:28:00
知道Virtual address是幾bit 知道Page size多大自然就可推得Page table的entry數Page table裡面可能會有一堆無效欄位(valid bit=0)代表Page上的資料不在記憶體中
作者: ok8752665 (dd8752665)   2019-09-22 17:49:00
喔喔 忘了有些不會全部載進去了 謝謝

Links booklink

Contact Us: admin [ a t ] ucptt.com