【我所認知的BIOS】—>虛擬存儲機制

本文介绍了X86上的内存管理机制,包括分段管理和分页管理,以及它们在虚拟存储机制中的作用。通过逻辑地址、线性地址和物理地址的关系,阐述了如何实现线性地址到物理地址的转换。文章还借助教务处管理学生的例子,生动地解释了虚拟存储机制的工作原理。
摘要由CSDN通过智能技术生成

【我所認知的BIOS—>虛擬存儲機制

By LightSeed

2009-8-1   

在文章的前面我想说,如果您对全局描述符,段选择子,保护模式等,一点概念都没有的话,那么我不建议继续往下看。因为这篇文章是建立在那些基础之上的。这样的话,我建议您看看关于保护模式的资料再继续。比如说:【我所認知的BIOS—>實模式&保護模式有比较简单地介绍。

 

1、分段管理VS分页管理

X86上的内存管理机制我们可以分为两部分,分页管理机制和分段管理机制。其实他们都是虚拟存储机制。

不管怎么说,这两种机制都是为了能够在同一个CPU上实现多任务(而且任务与任务之间不相互干扰)而做的。我想,看到这里的人肯定会问那么既然他们都是这样的目的,那么为什么要分开来说呢?他们当中有个比较明显(不一定是最重要哦)差别就是段的大小是可变的。(当然在规定的范围内)而页管理机制则每页都是相同大小的。

而且,当我们的CPU运行在保护模式的时候,(某时)必须要用到段的形式,所以说分段管理机制是不能被disable的,而分页管理机制却是可选的。虽然两种机制的存在都是为了实现多任务,程序之间不相互干扰。然而,他们却可以在单任务的时候可以用这两种机制。

不的不再一次引用一下杨季文老师的原话,(呵呵。。。因为他表达的太经典了。)

分页管理机制把线性地址空间和物理地址空间分别划分为大小相同的块,这样的块称为页。通过在线性地址空间的页与物理地址空间的页建立之间建立的映射表,分页管理机制实现线性地址空间到物理地址空间的映射,实现线性地址到物理地址的转换。分页管理机制是可选的,在不采用分页管理机制时,线性地址空间就等同于物理地址空间,线性地址就等于物理地址。

分段管理机制所使用的可变大小的块,使分段管理机制比较适宜处理复杂系统的逻辑分段。存储块的大小可以根据适当的逻辑含义进行定义,而不用考虑固定大小的页所强加的人为限制。每个段可作为独立的单位处理,以简化段的保护及共享。分页机制使用的固定大小的块最适合于管理物理存储器,无论是管理内存还是外存都同样有效。分页管理机制能够有效地支持实现虚拟存储器。

2、逻辑地址,线性地址,物理地址

要说清楚虚拟存储机制,那么逻辑地址,线性地址,物理地址这三个概念又必须要详细讲讲。所以也专门列一个小节。让我们来看看他们的概念,不过在看概念之前,先看看这样一句话。(笔者:提醒您,如果您把这些都想像成保护模式下的内存我想会比较贴切。当然实模式下也是同样的,只是实模式下的段选择子已经被隐藏地很深了。)

分段管理机制可以把CPU能够访问到的内存空间分成更小的可以保护的地址空间。

 

Linear Address(线性地址):我们把上面句话中“CPU能够访问到的内存空间”叫做线性地址。[笔者:把“更小的可以保护的地址空间”叫做段(
segment
),而段又可以分成若干页。这个概念一定要牢记哦。]

Logical Address(逻辑地址):当我们要去定位自己希望定位的段(segment

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值