乙個具有32位邏輯位址空間的分頁系統,每個頁表項占用的空間是多大?

時間 2021-06-02 19:23:44

1樓:瑞瑞的Ryo

我之前被王道的一句話整蒙了,書上說邏輯位址是頁號+頁內偏移,頁表項和邏輯位址的區別是頁號加物理塊號。

這句話導致我一度以為頁表項應由頁號和物理塊號組成,顯然頁號和物理塊號一一對應,因此應是兩個20位二進位制分別表示頁號和物理塊號,這個問題困擾了我幾天,直到看到了各位大佬的答案才終於明了。

頁表項是只包含物理塊號的,至於王道所說的頁號仍可當作是頁表項的一部分但無需單獨的20位進行表示,因為有個裝置叫頁表暫存器,內含頁表始址和頁表長度,由於乙個頁表項4B,因此知道頁號和頁表始址後可通過頁表始址+頁號x4B 得到該頁對應的頁表項位址,其值即為該頁的物理塊號。

所以只需20位即可,即3個位元組,當然為了一頁4KB可以容納整數個頁表項,取4B為單位。

2樓:CMOS

頁表項的格式是isa決定的,格式定了,大小也就定了。

一般32位位址的頁表項也是32位,為了定址方便,頁表項大小一般都是2的次冪個位元組。

32位的位址用64位的頁表項比較浪費空間,除去20位頁位址,剩餘44位來存屬性之類太大了。

怎麼看乙個軟體是64位的還是32位的

sky丶顏良 如果你是64位系統,64位軟體exe檔案屬性沒有相容性這一項,如果你是32位系統,能執行的都是32位的,64位也執行不了 不用執行,直接檢視 exe 檔案的相容性屬性。如果是 32 位的程式,簡化的顏色模式 和 用 640x480 螢幕解析度執行 是可以勾選的,且相容模式最低可以調到W...

計算機中乙個程序的邏輯位址為什麼往往比實體地址要多?

英雄不問出處 有mmu這個東西,可以分配虛擬位址 題中邏輯位址,下同 再加上核心的支援,可以提公升物理記憶體的利用率。講一下Linux Kernel的處理,當執行乙個程式時,核心並不會把整個程式完全載入到物理記憶體中,而是分配好虛擬位址,載入可執行檔案的部分到物理記憶體,只分配了虛擬位址而程式未載入...

乙個32芯分路箱,裡面放置乙個1 16分光器,最多可以分出多少路光纖到使用者?

加菲貓 二級分光設計下,保證光功率符合工程要求而不是極限的話使用class C級別光模組可以1 128,class B 級別1 64。但是實際使用考慮埠負載的要求與未來頻寬分配,還有故障點影響範圍等因素,乙個PON口一般只下掛32或者64個使用者。所以這幾個1 16的分光器應該不是乙個PON口下的。...