頁表到底占用多少空間?一些疑惑和思考

2021-07-10 13:43:12 字數 637 閱讀 9426

二級頁表

頁目錄項 1024個  

每個大小為4b 

前20個位元標識頁表的實體地址(4k頁)

頁表1024*1024個 

每個大小也為4b

前20個位元標識頁的實體地址

頁幀以4k分頁,那麼對於32位邏輯匯流排來說,後12位就被遮蔽掉了, 只需要前20位就能找到這個頁的位址

再加上12位的偏移,可以找到具體的那個1b了

最主要的是分頁之後就只需要20位就可以來定址了(實體地址)

類似的,頁目錄項中總共有4k大小,以4來分,那麼只要1k就可以定址(目錄索引)了

問題:頁目錄項、頁表項中儲存的位址是實體地址還是邏輯位址?

是實體地址

這樣頁目錄項和頁表項就占用了記憶體中的4m + 4k的空間

mmu通過這裡面存放的表,將線性位址轉化為實體地址

那麼,這個空間是如何規定的? 

cr3指定了頁目錄項的起始位址,這樣就找到頁目錄項這個表了,然後再通過頁目錄項找到頁表,後面就好辦了

那麼cr3也只需要高20位來定址,因為頁目錄項剛好占用1個頁幀,4k的大小空間

這個設計感覺太巧妙了,關鍵就在於這個4k分頁

最後乙個問題:

頁目錄項和頁表項是作業系統來填寫的,填到哪個位置如何確定?

關於SOA 和 BPM 的一些疑惑!

不得不說,作為乙個coder,需要不斷地更新一下自己的概念,不過感覺即便只是j2ee,概念都是鋪天蓋地的,作為剛畢業投入工作不久的新人來說,路還是很長啊!首先,宣告,不是介紹什麼,只是想請教些問題,雖然有點長,但希望解決一些迷惑!第一次發貼啊!因為畢業前一直做j2ee方面的開發,也有個幾個專案經驗,...

表空間管理的相關的一些sql

那天系統出現問題,同事說會不會是資料庫空間不足造成的,想了想檢視空間使用方面的sql我根本不知道,呵呵,當時就在baidu隨便搜了個,執行很慢,當時也沒在意就過去了,今天碰巧看到itpub上一位兄弟總結了這方面的操作,我利用工作時間學習實踐了一下呵呵,然後又用自己的語言稍加了修改,姑且就算原創吧,呵...

有關oracle表空間查詢的一些記錄

1.查詢剩餘表空間 2.查詢索引資訊 select s.index name,s.table name,s.tablespace name,s.initial extent,s.next extentfrom user indexes s where s.index name idx invalid...