虚拟存储器

所谓虚拟存储器(Virtual Memory),就是采用一定的方法将一定的外存容量模拟成内存,同时对程序进出内存的方式进行管理,从而得到一个比实际内存容量大得多的内存空间,使得程序的运行不受内存大小的限制。虚拟存储区的容量与物理主存大小无关,而受限于计算机的地址结构和可用磁盘容量。

目录

  • 虚拟存储器
  • 工作过程
  • 调度方式
  • 虚拟存储器和Cache的异同点

工作过程

虚拟存储器是由硬件和操作系统自动实现存储信息调度和管理的。它的工作过程包括6个步骤:
  ①中央处理器访问主存的逻辑地址分解成组号a和组内地址b,并对组号a进行地址变换,即将逻辑组号a作为索引,查地址变换表,以确定该组信息是否存放在主存内。
  ②如该组号已在主存内,则转而执行④;如果该组号不在主存内,则检查主存中是否有空闲区,如果没有,便将某个暂时不用的组调出送往辅存,以便将这组信息调入主存。
  ③从辅存读出所要的组,并送到主存空闲区,然后将那个空闲的物理组号a和逻辑组号a登录在地址变换表中。
  ④从地址变换表读出与逻辑组号a对应的物理组号a。
  ⑤从物理组号a和组内字节地址b得到物理地址。
  ⑥根据物理地址从主存中存取必要的信息。

调度方式

调度方式有分页式、段式、段页式3种。
  1、页式调度
  页式调度是将逻辑和物理地址空间都分成固定大小的页。主存按页顺序编号,而每个独立编址的程序空间有自己的页号顺序,通过调度辅存中程序的各页可以离散装入主存中不同的页面位置,并可据表一一对应检索。页式调度的优点是页内零头小,页表对程序员来说是透明的,地址变换快,调入操作简单;缺点是各页不是程序的独立模块,不便于实现程序和数据的保护。
  2、段式调度
  段式调度是按程序的逻辑结构划分地址空间,段的长度是随意的,并且允许伸长,它的优点是消除了内存零头,易于实现存储保护,便于程序动态装配;缺点是调入操作复杂。
  3、段页式调度
  将这两种方法结合起来便构成段页式调度。在段页式调度中把物理空间分成页,程序按模块分段,每个段再分成与物理空间页同样小的页面。段页式调度综合了段式和页式的优点。其缺点是增加了硬件成本,软件也较复杂。大型通用计算机系统多数采用段页式调度。

虚拟存储器和Cache的异同点

虚拟存储器和主存Cache 存储器是两个不同存储层次的存储体系。在概念上两者有不少相同之处:但由主存 - 辅存组成的虚拟存储器和主存Cache 存储器亦有很多不同之处:
  ●Cache 存储器采用与CPU速度匹配的快速存储元件弥补了主存和CPU之间的速度差距,而虚拟存储器虽然最大限度地减少了慢速辅存对CPU的影响,但它的主要功能是用来弥补主存和辅存之间的容量差距,具有提供大容量和程序编址方便的优点。
  ●两个存储体系均以信息块作为存储层次之间基本信息的传送单位,Cache存储器每次传送的信息块是定长的,只有几十字节,而虚拟存储器信息块划分方案很多,有页、段等等,长度均在几百~几百K 字节左右。
  ●CPU访问快速Cache存储器的速度比访问慢速主存快5 ~ 10倍。虚拟存储器中主存的速度要比辅存缩短100 ~ 1000 倍以上。
  ●主存Cache 存储体系中CPU与Cache和主存都建立了直接访问的通道。一旦不命中时,CPU 就直接访问主存并同时向Cache调度信息块,从而减少了CPU等待的时间。而辅助存储器与CPU之间没有直接通路,一旦在主存不命中时,只能从辅存调块到主存。因为辅存的速度相对CPU的差距太大,调度需要毫秒级时间,因此,CPU一般改换执行另一个程序,等到调度完成后才返回原程序继续工作。
  ●Cache 存储器存取信息的过程、地址变换和替换策略全部用硬件实现,对程序员均是透明的。而主存- 辅存层次的虚拟存储器基本上是由操作系统的存储管理软件并辅助一些硬件来进行信息块的划分和主存 - 辅存之间的调度,所以对设计存储管理软件的系统程序员来说,它是不透明的,而对广大用户,因为虚拟存储路提供了庞大的逻辑空间可以任意使用,所以对应用程序员是透明的。

参考源文件:http://wiki.dzsc.com/6624.html#md23215

比较 Cache 和虚拟存储器,说明它们的相似点和不同。相关推荐

  1. 94.cache 和虚拟存储器的功能不同

    cache是缓存,设计目的是为了加快访问内存速度. 虚拟存储器是为了扩大内存.

  2. 计算机组成原理 并行、cache、虚拟存储器 练习题

    一.填空题 1.有关高速缓冲存储器Cache的说法正确的是(  ) . A.只能在CPU以外 B.CPU内外都可以设置Cache C.只能在CPU以内 D.若存在Cache,CPU就不能再访问内存 正 ...

  3. 【计算机组成原理】虚拟存储器和Cache的比较

    相同点 最终目标都是为了提高系统性能,二者都有容量.速度.价格的梯度. 都把数据划分为小信息块,并作为基本的传递单位,虚存系统的信息块更大. 都有地址的映射.替换算法.更新策略等问题. 依据程序的局部 ...

  4. 计算机考试那些专业知识点,计算机考研专业课考试知识点分析

    编者按:为了帮助考生正确的做好准备工作,研究生院特访问了我国著名的计算机教育专家.湖南师范大学计算机软件与理论/计算机应用技术硕士点专业课试题命题人张友生博士,请张博士对考试大纲进行全面的解析. 在计 ...

  5. 北大计算机考研考什么时候,北大计算机考研复习计划有哪些

    计算机是考研的热门学科,想要通过考试没有那么简单哦,需要制定详细计划去学习以及复习.以下是学习啦小编分享给大家的北大计算机考研复习计划的资料,希望可以帮到你! 北大计算机考研复习计划 1月 搜集考研信 ...

  6. 处理机调度实验总结_计算机系统结构总结

    系统结构总论 总目标:快 总原理:加快经常性事件 量化原理:Amdahl定理 Amdahl定理指出加快某部件执行速度所能获得的系统性能加速比,受限于该部件的执行时间占系统总时间的百分比. 加速比 = ...

  7. 计算机考研我该如何准备,计算机考研该如何准备呢-考研初试

    计算机考研该如何准备呢,下面小编跟大家一起看看吧. 废话少说, 对于一些基础不好的人或者跨考的人来说,暑假之前能过一遍四本书的课本.推荐严蔚敏的数据结构,唐朔飞的计组,汤子瀛的操作系统,谢希仁的网络, ...

  8. 微程序控制的计算机涉及的两个层次,1.2 考试知识点分析

    1.2.2 计算机组成原理 在计算机考研专业课统考中,计算机组成原理知识一共是45分,占整个考试比重的30%.对于计算机组成原理课程的考查,基于以下目标: (1)理解单处理器计算机系统中各部件的内部工 ...

  9. 计算机考研:计算机组成原理考点分析

    在计算机408统考中计算机组成原理占了45分,和数据结构部分同一个比重,以下为大家分析一下计算机组成原理的相关考点,希望能够帮助大家. 统考大纲把计组的考查目标定位为理解单处理器计算机系统中各部件的内 ...

最新文章

  1. vba 在光标插入文字_VBA学习入门方法!Office Excel教程 Excel入门 Excel技巧 Excel学习!...
  2. getcwd和pwd为什么不一样_企业职工,公务员为什么缴纳的养老保险不一样呢?
  3. 【报错笔记】使用MultipartFile 出现异常:java.lang.ClassNotFoundException: org.apache.commons.fileupload...
  4. SAP Cloud for Customer Cloud Application Studio的下载地址
  5. JBoss BRMS复杂事件处理(CEP)性能基准
  6. 如何向开源社区奉献代码
  7. 39个工具,120种组合深度评估 (转录组分析工具哪家强)
  8. Java计基础---常用类之StringBuilder类--String、StringBuilder和StringBuffer 的区别
  9. 免费的数据库建模工具
  10. HTML解析没有详情页url,爬虫找不到详情页URL的参数
  11. Redis应用学习——Redis Cluster故障转移
  12. mysql主从docker_(学习到实践)四、docker搭建mysql主从实践
  13. SQL语句 分页实现
  14. vue 音频文件打包后找不到文件
  15. matlab的简单使用-matlab画f(x)=x^2+y^2的图像
  16. 微信美食菜谱小程序系统毕业设计毕设(6)开题答辩PPT
  17. Android生命周期
  18. NEO FANTASY:回合制策略游戏在ACGN文化与GameFi中的新探索09-07
  19. 关于airdroid免root操作
  20. JAVA SM2 数字证书生成

热门文章

  1. pandas.read_csv() 详解与如何合适的读取行序号与列名
  2. android之NDK version was not found
  3. SpringBoot之maven包管理
  4. C#之double网络字节序
  5. html复选框控制元素禁用,如何勾选复选框时禁用HTML必需属性?
  6. python炒股日记_Python日记
  7. 宝塔面板如何将数据自动备份到阿里云OSS对象存储
  8. java里面的pai_Java - ZhangPai - 博客园
  9. 8考勤填报_公司考勤管理制度
  10. aix升级openssh_AIX6.1上源码编译升级openssh6.6p1