虚拟存储器

转自:http://ns2.auts.edu.cn/jwc/jpkc/jsjjc/weiji/adj046.htm

4.6 虚拟存储器

•  主存 - 辅存层次结构

操作系统的形成和发展使得程序员尽可能摆脱主、辅存之间的地址定位,

同时形成了支持这些功能的“辅助硬件”,通过软件、硬件结合,把主存和辅存

统一成了一个整体,如图 4-27 所示。这时,由主存 - 辅存形成了一个存储层次,

即存储系统。主存 - 辅存层次解决了存储器的大容量要求和低成本之间的矛盾,

从整体看,其速度接近于主存的速度,其容量则接近于辅存的容量,而每位平

均价格也接近于廉价的慢速的辅存平均价格。这种系统不断发展和完善,就逐

步形成了现在广泛使用的虚拟存储系统。

 

图 4-27  主存-辅存层次结构

二、 什么叫虚拟存储器( Virtal Memory

当 CPU 输出地址码的位数较多,而实际主存容量较小的情况下,微机系统

可以将一部分辅存当作主存来使用的机制,就是虚拟存储器系统。

虚拟存储器是建立在主存 - 辅存物理结构基础之上,由附加硬件装置及操作

系统存储管理软件组成的一种存储体系, 它将主存和辅存的地址空间统一编址,

形成一个庞大的存储空间。在这个大空间里,用户自由编程,完全不必考虑程

序在主存是否装得下,或者放在辅存的程序将来在主存中的实际位置。编好的

程序由计算机操作系统装入辅助存储器,程序运行时,附加的辅助硬件机构和

存储管理软件会把辅存的程序一块块自动调入主存由 CPU 执行,或从主存调

出。用户感觉到的不再是处处受主存容量限制的存储系统,而是好象具有一个

容量充分大的存储器。

 

三、 虚地址和实地址的基本概念及其相互关系

虚地址:

虚拟存储器的辅存部分也能让用户象内存一样使用,用户编程时指令地址

允许涉及辅存大小的空间范围,这种指令地址称为“虚地址” ( 即虚拟地址 ) 或

叫“逻辑地址”,虚地址对应的存储空间称为“虚存空间”或叫“逻辑空间”。

实地址:

实际的主存储器单元的地址则称为“实地址” ( 即主存地址 ) 或叫“物理地址”,

实地址对应的是“主存空间”,亦称物理空间。

虚拟存储器的用户程序以虚地址编址并存放在辅存里,程序运行时, CPU

以虚地址访问主存,由辅助硬件找出虚地址和物理地址的对应关系,判断由这

个虚地址指示的存储单元的内容是否已装入主存,如果在主存, CPU 就直接执

行已在主存的程序;如果不在主存,就要进行辅存内容向主存的调度,这种调

度同样以程序块为单位进行。计算机系统存储管理软件和相应的硬件把欲访问

单元所在的程序块从辅存调入主存,且把程序虚地址变换成实地址,然后再由

CPU 访问主存。

 

四、虚拟存储器和 Cache 的异同点

虚拟存储器和主存 -Cache 存储器是两个不同存储层次的存储体系。在概念

上两者有不少相同之处:但由主存 - 辅存组成的虚拟存储器和主存 -Cache 存储器亦有很多不同之处:

•  Cache 存储器采用与 CPU 速度匹配的快速存储元件弥补了主存和 CPU 之间

的速度差距,而虚拟存储器虽然最大限度地减少了慢速辅存对 CPU 的影响,但

它的主要功能是用来弥补主存和辅存之间的容量差距,具有提供大容量和程序

编址方便的优点。

•  两个存储体系均以信息块作为存储层次之间基本信息的传送单位, Cache 存

储器每次传送的信息块是定长的,只有几十字节,而虚拟存储器信息块划分方

案很多,有页、段等等,长度均在几百 ~ 几百 K 字节左右。

•  CPU 访问快速 Cache 存储器的速度比访问慢速主存快 5 ~ 10 倍。虚拟存储器

中主存的速度要比辅存缩短 100 ~ 1000 倍以上。

•  主存 -Cache 存储体系中 CPU 与 Cache 和主存都建立了直接访问的通道.一

旦不命中时, CFU 就直接访问主存并同时向 Cache 调度信息块,从而减少了 CPU

等待的时间。而辅助存储器与 CPU 之间没有直接通路,一旦在主存不命中时,

只能从辅存调块到主存。因为辅存的速度相对 CPU 的差距太大,调度需要毫秒

级时间,因此, CPU 一般改换执行另一个程序,等到调度完成后才返回原程序

继续工作。

•  Cache 存储器存取信息的过程、地址变换和替换策略全部用硬件实现,对程序员均是透明的。而主存 - 辅存层次的虚拟存储器基本上是由操作系统的存储管理软件并辅助一些硬件来进行信息块的划分和主存 - 辅存之间的调度,所以对设计存储管理软件的系统程序员来说,它是不透明的,而对广大用户,因为虚拟存储路提供了庞大的逻辑空间可以任意使用,所以对应用程序员是透明的。

 

五、 虚拟存储器的几种实现方法

按虚拟存储器信息块的划分方案不同,虚拟存储器的实现,可以分为 页式

虚拟存储器、段式虚拟存储器、段页式虚拟存储器 等集中形式,其中,段页式

虚拟存储器综合了段式和页式结构的优点,是一种较好的虚拟存储器信息块的

划分方案,也是目前大中型计算机系统中普遍采用的一种方式。有关这一部分

内容,我们就不再一一为大家介绍了,有兴趣的同学可以看一看书上的相关内

容。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值