操作系统的段机制与页机制

段的引入是解决“ 地址总线的宽度一般要大于寄存器的宽度 ”这个问题。

8086的分段寻址,是指一个物理地址由段地址(segment selector)与偏移量(offset)两部分组成,长度各是16比特。其中段地址左移4位(即乘以16)与偏移量相加即为物理地址。例如,06EFh:1234h,表示段地址为06EFh,偏移量为1234h,物理地址为06EF0h + 1234h = 08124h。在计算物理地址时如果发生上溢出,8086处理器舍弃进位。例如,FFFFh:0010h所对应的物理地址为00000h.

实模式: 是 段地址+偏移量 的方式,得到物理地址,进而寻址。

保护模式: 不允许通过段寄存器取值得到段的起始地址,而是把虚拟地址转进一个 MMU 的硬件,经过额外的转换和检查,进而得到一个物理地址。

段机制抛开了实际物理内存的大小,从抽象层面提供给开发人员更大的线性空间进行程序开发。但物理内存如果不足时的情况仍需解决。

它通过将 物理内存空间 和 线性地址空间 分成若干相等的页。(一般都为4KB)。这样整个程序就不需要连续存放在物理内存中,更可以按需把页面调进内存,而不需要把整个线性地址空间加载到内存中。正如你将会看到的,这种机制十分巧妙又实用。

 参考资料:http://www.jianshu.com/p/f4a909f3fd2e

转载于:https://www.cnblogs.com/jacklu/p/4644100.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值