2 labs1993 labs1993 于 2016.05.04 11:31 提问

关于linux0.11当中设置页表映射的问题 增加C币悬赏 20C

关于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这之间的内存也清零成功了。
求大神解惑!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
虚拟内存与物理内存
虚拟内存与物理内存区别,内核对页表的设置,实例分析映射机制,有源码分析
Linux 内存管理导读-三级页表-伙伴系统
Linux 内存管理导读-三级页表-伙伴系统
非linux下创建MMU页表流程分析
当CPU拿到虚拟地址去访问实际物理地址的数据时,需要从MMU的页表查询某个虚拟地址对应的实际物理地址,在某款平台中有双核A9和ARM11两种CPU。A9的MMU页表是由linux管理和创建的,ARM11运行的是rtthreaed,MMU页表是在系统启动前预先创建好的。ARM11属于ARMv6架构,其MMU需要两级页表来映射物理地址,第一级页表为段映射,一个页表条目表示1M空间;第二级页表为页映射,一个页表条目表示4K空间
液压系统设计及常见问题
液压系统设计及常见问题
数学建模公交线路问题
该程序利用迪杰斯特拉算法经行求解,使用该代码前最好先阅读Readme.doc
Linux内核注释.rar
Linux内核注释,关于Linux0.11版本的内核注释
vim c-support hotkeys
vim编辑器下的关于C的插件的键盘映射图
GehDa-1.12.1.139-windows-64bit
自己安装的能用,看到CSDN上面什么都要那么多c币感觉用人家的东西来换c'币很恶心,但是没法设置成0,所以设置的1.
深入解析Linux内存管理ppt
目录:页表管理 内核页表 物理内存 高端内存 地址映射 虚拟内存 地址空间 高速缓存 页框回收 交换机制 缺页异常 共享内存 文件映射 程序执行
LINUX0.11源代码分析及源代码
同济大学的赵炯博士写的LINUX0.11版本的源代码分析 写的很详细