2 labs1993 labs1993 于 2016.05.04 11:26 提问

关于linux0.11当中设置页表映射的问题

最近在学习linux0.11,在设置页表映射出了问题。
linux0.11中用来 .org 0x1000;.org 0x2000;.org 0x3000;.org 0x4000这个几个来做表格映射。
但是我在实验当中发现一旦使用了 上面的几个 这个命令之后,就会运行不起来。
因此我就把这个命令注释,手动来直接对内存地址0x1000,0x2000等这几个地址进行操作。
但是接下来发现在对内存地址0x0~0x5000清零时,也会运行不起来。然后实验发现只有对地址0x0~0x1000清零,才能运行,但是这样也达不到页表映射的效果。

我的head内核是加载到了地址0x0的,我也想过可能是这个原因,但是如果加载到比如0x10000这样的地址,在head内核中加载GDT表时就会出现问题,进行了很多尝试还是不成功,最后又加载到了0x0。而且linux0.11的内核也是加载到地址0x0,而且对0x0~0x5000这之间的内存也清零成功了。

求大神解惑!

1个回答

CSDNXIAON
CSDNXIAON   2016.05.04 11:32

linux页表问题
Linux-0.11内核编译问题
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!