Re: [問題] 關於PAE(Physical Address Extension)
設定的過程的話大概是
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
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 3 之 3 篇):