Re: [問題] 關於PAE(Physical Address Extension)

看板Programming作者 (老哥交車了 Q_Q:)時間17年前 (2008/05/20 18:36), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/3 (看更多)
設定的過程的話大概是 1. 進保護模式 2. 選擇使用的 segment 3. 初始化 page table 4. 開啟分頁和PAE pae 跟非 pae 差在你有 4個 PDPT 可以去用 一般直覺可以拿每一個來指到 1G的 MEM 剛好 4G PAE 就是有一個 4bit 的欄位讓你去存取更高位址的記憶體 代表實體記憶體的 31bit~35bit 指來指去.看你分頁要設多少就設多少, 很彈性, 但如果真的要做到管理的話應該要花一番功夫吧。 以上如果有錯請指正 ※ 引述《final01 (牛頓運動定律)》之銘言: : ※ 引述《james732 (紫雁)》之銘言: : : 我有一些關於 PAE 觀念上的問題,想詢問一下 : : 根據找到的資料 : : http://en.wikipedia.org/wiki/Physical_Address_Extension (維基百科) : : http://0rz.tw/4647U (PDF檔案) : : 當硬體開啟 PAE 之後,影響只在 : : Linear -> Physical 這個部份 : : 每個 Process 能用的 Virtual Memory Space 仍然是 2^32 = 4G : : 開啟 PAE 的作用,只是讓實體記憶體有更多的分頁可以用 : : 也就是說,實體記憶體可以載入更多的 Process : : 但每個 Process 能用的空間(virtual space 與 linear space) : : 並沒有變多,仍然是 4G (除非OS另外支援) : 我想你如果對X86有點概念,應該都看過這張圖吧? : ____________ _________ : logic address => |segment unit| => linear address => |page unit| => Physical address : (virtual) : 不知道你講的Process 能用的空間跟我想的一不一樣 : 我覺得Process 能用的空間其實是一種"抽象"的概念, : 實際的運作是用32bit 暫存器去"定址",所以這樣就能解釋 : Process 能定址的linear space是4G是不變的. : 順道一提因為現代OS的機制都是忽略segment : 所以virtual address 跟linear address是一樣的 : 至於page機制要如何將4G的linear space對應到實體記憶體又是一回事了 : 我也不知道是不是這樣!"感覺"好像是這樣啦 : 底下這個圖也不會改變 : 當然吧!因為Process能"定址"就是4G : : +--------------+ 4G (不會變成64G) : : | stack | : : +--+-----------+ : : | | ^ | : : | v | | : : | 空 | | : : | | | : : +----------+---+ : : | heap | : : +--------------+ : : | code | : : +--------------+ 0 : : 請問這樣的觀念正確嗎?我不太確定 : : 如果我想錯了,也請指教 :) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.169.87.127
文章代碼(AID): #18CnePg4 (Programming)
文章代碼(AID): #18CnePg4 (Programming)