Windows保护模式段机制与分页机制详解

操作系统将物理内存虚拟化,从而管理内存,将每个进程的运行空间隔离,形成多任务的操作系统。

物理内存虚拟化后,在操作系统的基础上有以下几个名词概念,需要深刻理解,网络上很多博客和帖子常常对此解释出现误差、混淆。我在这里澄清一下(献丑):

1.物理地址

物理地址就是物理内存的真实地址,它是在硬件上真实存在的。由于操作系统的管理,在操作系统之上,用户是感觉不到物理内存的存在的。一个进程在操作系统中运行(32位下),它的地址范围总是4GB,这就是将物理地址虚拟化了,也即是管理物理内存,这是操作系统的核心功能之一。

2.线性地址

线性地址是操作系统采用段机制管理内存,最终形成的一个连续的内存空间,这个连续的地址,也即是0~4GB大小的地址。在不采用分页机制的情况下,由段描述符得到段基址,然后根据32位的偏移(4GB)来确定物理地址的位置。

3.虚拟地址

虚拟地址,通俗的来说,程序员在调试程序的时候看到的地址便是虚拟地址,也是操作系统最终呈现给用户的。

虚拟地址是在线性地址的基础上得来的。不采用分页模式,虚拟地址也即是线性地址

如果采用了分页模式来管理内存的话,那么将根据虚拟地址解析到页目录、页表、页偏移来确定物理地址的位置。

 

我们可以理解为,线性地址是采用分段机制,虚拟地址是采用分页模式。分段机制下线性地址也是虚拟地址(这很好理解,大家都把我们调试看到的地址称之为虚拟地址)。

最后还想提一下分页模式与分段机制的优缺点,很明显,分页模式更加灵活,分页模式下,物理地址可以不是连续的。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值