Chinaunix
标题:
关于临时内核页表
[打印本页]
作者:
stuman
时间:
2013-08-10 15:57
标题:
关于临时内核页表
临时内核映射需要建立两张临时的页表,将0x00000000-0x007FFFFF和0xC0000000-0xC07FFFFF的线性地址同时映射到0x00000000-0x007FFFFF的物理地址上。
将我们需要映射的线性地址按照10/10/12个bit位展开,就可以知道我们需要的是哪4项了。
0x00000000 -> 0x000 / 0x000 / 0x000
0x007FFFFF -> 0x001 / 0x3FF / 0xFFF
0xC0000000 -> 0x300 / 0x000 / 0x000
0xC07FFFFF -> 0x301 / 0x3FF / 0xFFF
取出对应页目录项的前10bit,可以知道我们需要初始化的4个页目录项为0x0、0x1、0x300、0x301。其中0x0和0x300对应pg0,0x1和0x301对应pg1。
那么为什么0x0和0x300对应pg0,0x1和0x301对应pg1呢?
0x0与0x1仅差1,0x300与0x301也仅差1,为什么不是0x0与0x1对应一张页表,而0x300与0x301对应一张页表呢?
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2