3、操作系统内存管理——段页式(虚拟内存)

注:参考哈工大李治军老师公开课。本小节需要之前分段分页为基础


 

对用户而言,分段是对内存的有效使用;而对于计算机而言,分页可以提高内存的使用效率。操作系统需要满足两个方面的需求,所以就采取了段页相结合的方式来管理内存。

 

对于用户而言,当用户发出一个逻辑地址,用户希望访问到特定程序段的内存空间,而对于计算机而言,则希望用户发出的逻辑可以通过MMU转换成页框号和页内偏移量,从而直接去访问真实的内存空间。

为了解决这一问题引入了虚拟内存(就是通过一张段表完成地址映射转换):简单的说就是用户发出访问程序段的逻辑地址<段号,段内偏移量>,通过对这一逻辑地址的运算将其转换为访问页的虚拟地址<页号,页内偏移量>,再由MMU将其转换为内存的物理地址<页框号,页内偏移量>。通过这种方式,用户访问的就是虚拟内存,经过两次地址映射后,变成真实的物理地址。

图一:段页式寻址原理

 

下面就以一个真实的图例展示这个过程:


图二:段页式寻址示例

从图二不难看出地址变化的过程是:

 逻辑地址<段号,偏移>  ->  虚拟地址<页号,偏移>  ->  物理地址<物理页号,偏移>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值