作者softcloud (老哥交车了 Q_Q:)
看板Programming
标题Re: [问题] 关於PAE(Physical Address Extension)
时间Wed May 21 02:36:06 2008
设定的过程的话大概是
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