linux0.11内核是如何进行虚拟地址、线性地址、物..
时间:2007-04-10 来源:pywj777
1. linux0.11内核是如何进行虚拟地址、线性地址、物理地址之间的映射的?
(1) 答:对于linux0.11内核代码和数据来说,在head.S程序的初始化操作中已经将内核代码段和数据段都设置成长度为16MB的段。在线性地址空间中这两个段的范围重叠,都是从线性地址0x00000开始到地址0xFFFFF共16MB地址范围,其页目录和二级页表已设置成0~16MB的线性地址空间一一对应到物理地址上。占用了4个目录项和4个二级页表,并且这个目录项和页表项是覆盖linux0.11内核代码head.S的前段从0~20K处代码,并且代码段和数据段基址都是0x00000。因此对于内核代码或数据地址来说,我们可以直接把虚拟地址和线性地址看作是物理内存地址。
相关阅读 更多 +