LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 742|回复: 5

关于1M常规内存的问题

[复制链接]
发表于 2005-3-23 19:12:28 | 显示全部楼层 |阅读模式
看书上说1m常规内存里面有很多bios程序,他们是被复制到ram中, 还是在rom里面仅仅占用地址?
发表于 2005-3-23 21:36:48 | 显示全部楼层
一般是映射到rom中,也可以复制到内存中以加快访问速度。
ps:linux下没有什么1M常规内存的限制,那是DOS下的概念。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-24 12:57:09 | 显示全部楼层
如果选择复制到ram中,那内核会给他们安排在哪里呢? 会不会改变内核位置?
回复 支持 反对

使用道具 举报

发表于 2005-3-24 17:51:57 | 显示全部楼层
内核只是在启动的时候使用者M以内的内存,而且也不会使用bios所占用的A0000以上的那一段
回复 支持 反对

使用道具 举报

发表于 2005-3-24 18:45:40 | 显示全部楼层
内核完全不使用BIOS中断
回复 支持 反对

使用道具 举报

发表于 2005-3-25 09:56:58 | 显示全部楼层
linux启动时使用1m里的一些 ram来映射bios中的一些历程,比如显示卡和硬盘中断服务。但是一旦把kernel加载以后(如果是低址加载),就会把1m ram里的内存区覆盖掉,这时就根本不能用实模式下的中断调用了。
但是如果kernel是高地址加载,则原有1m raml里映射的bios例程仍然存在,我想这时应该可以使用16位汇编调用这些最原始的原来供dos使用的例程。
但是自己没试过,现在的Linux好像都是高地址加载,即kernel放在从1M开始以后的内存区里。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表