快速业务通道

操作系统引导探究

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-05-01
) .这里面有两个部份,比较有意思,一个就是“基址” ,一个就是“段限” .基址应当比较好理解,它给出的是一个段在物理内存中的地址,对于“段限” ,顾名思义,就是段大小的限制.不过它有点特别,对于一个段的最大可访问的地址 CPU 是通过下面的公式计算得到的:

段基址 段限值 * 段限单位 = 此段最大可访问地址

如果一个偏移地址大于了此段最大可访地址的话,CPU 就将产生一个错误中断,这样一来就可以访止一个程序非法访问另一个程序的内存空间,这对内存起到了保护作用,因此“保护模式”由此得名.

,如果段限是 0,那么此段最大可能访问地址就是段的基址,因此,当段限单位为一字节时,此段的段大小就是 1 字节;当段限单位为 4KB时, CPU将不检测偏移量的最左 12 位,而这 12 位最大可能为 0xFFF,因此,这时,此段的可访问范围就为 4KB,

(段限值 1)* 段限单位 = 此段大小

现在我们可以正始开始描述在保护模式下段模式是怎样访问内存的了.这里之是要强调“段模式”是在保护模式下还有一种前述的内存访问模式——页模式,它负责将线性地址再转换为物理地址. “页模式”也是其于段模式的,在不使用它的情况下,线性地址会被直接放到地址线上当做物理地址使用. “段模式”是不可避免的,所谓的“纯页模式”只是将整个线性地址当做一个整段, 没有什么方法可以真正绕过 “段模式” , 这是由 CPU内存访问机制所规定的.本篇只描述段模式,原因正如前所述, “页模式”的实验我还没做.我们已经知道从程序使用的逻辑地址到线性地址的映射是通过“描述符”来完成的,而“描述符”又是放在描述符表中的,那么一个描述表中有许多描述符,到底选用哪一个描述符呢?这就由一个索引来决定,这个索引将指出是表中的第几个描述符,这个索引有一个专门的术语来描述,常常称它为“段选择子” . “段选择子”由 2 个字节共 16 位组成,下面,我们就来看看它提供了哪些信息: 拥有帝国一切,皆有可能。欢迎访问phome.net

断了, 才将程序搬到内存顶部覆盖原中断向量表, 对于保护模式下的中断向量表, 将由 system程序负责建立,交给 system的将是一块完整的内存.对于 pyos 进程内存安排,准备参照 Linux 0.11 进行,内存安排如下:


一个进程享有 64M 空间,4GB / 64M = 64,也即系统最大进程数为 64.因此一个段的段限为:64MB,每个进程占用全局描术符表中两个描术符,一个为数据段描述符,一个为代码段描述符,段限均为 64MB.

拥有帝国一切,皆有可能。欢迎访问phome.net

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号