Lecture 15 虚拟存储器.ppt

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Lecture 15 虚拟存储器

引入 存储系统的层次结构 10 ns 20 ns 200 ns ms (速度) (容量) 课程结构 主要内容 虚拟存储器概述 什么是虚拟存储器 如何表达实地址和虚地址 主存-辅存层次与主存-cache层次的比较 存储器管理 段式管理 页式管理 页式虚拟存储器 段页式虚拟存储器 1. 什么是虚拟存储器 虚拟存储技术是为了扩大主存的寻址空间而采用的。 虚拟存储器是建立在主存与辅存物理结构基础之上,由附加硬件装置以及操作系统存储管理软件组成的一种存储体系。它把主存和辅存的地址空间统一编址,形成一个庞大的存储空间,在这个大空间里,用户可自由编程,完全不必考虑程序在主存中是否装得下,或者放在辅存的程序将来在主存中的实际位置,编好的程序由计算机操作系统装入辅助存储器中,程序运行时,附加的辅助硬件机构和存储管理软件会把辅存的程序一块块自动调入主存由CPU执行或从主存调出,用户感觉到的不再是处处受主存容量限制的存储系统,而是一个容量充分大的存储器。 实质上CPU仍只能执行调入主存的程序,所以这样的存储体系称为“虚拟存储器”。 虚拟存储器概述 2.虚地址和实地址 用户编程时指令地址,称为“虚地址”(即虚拟地址),或叫“逻辑地址”,虚地址对应的存储空间称为“虚拟空间”,或叫“逻辑空间”。 实际的主存储器单元的地址则称为“实地址” (即主存地址),或叫“物理地址”,实地址对应的是“主存空间”,也称物理空间。 显然,虚地址范围要比实地址大得多。 虚拟存储器概述 3.主存—辅存层次与主存—Cache层次的比较 相同点: 它们都把存储器划分为一个个信息块; 运行时都能自动地把信息块从慢速存储器向快速存储器调度; 信息块的调度都采用一定的替换策略。 新调入的信息块需遵守一定的映射关系变换地址后来确定其在存储器的位置。 虚拟存储器概述 3.主存—辅存层次与主存—Cache层次的比较 不同点 (1)主存—Cache存储器每次传递是定长的的信息块,长度只有几十字节;而虚拟存储器信息块划分方案很多,有页、段等等,长度均在几百字节至几百千字节左右。 (2)主存Cache存储器用来弥补主存和CPU之间的速度差距;而虚拟存储器弥补主存的容量不足。 (3)CPU访问快速Cache存储器的速度比访问慢速主存快5~10倍。虚拟存储器中主存的速度要比辅存快100~1000倍以上。 (4)CPU与Cache和主存都建立了直接访问的通路,辅助存储器与CPU之间没有直接通路,一旦在主存中不命中,则只能从辅存调度信息块到主存,因为辅存的速度与CPU的速度差距太大,调度需要毫秒级时间,因此,CPU一般将改换执行另一个程序,等到调度完成后再返回原程序继续工作。 虚拟存储器概述 3.主存—辅存层次与主存—Cache层次的比较 不同点 (5)主存—Cache存储器存取信息的过程、地址变换和替换策略全部用硬件实现,所以对各类程序员均是透明的。主—辅层次的虚拟存储器基本上由操作系统的存储管理软件辅助一些硬件进行信息块的划分和主—辅存之间的调度,所以对设计存储管理软件的系统程序员来说,它是不透明的;而对于广大用户,因为虚拟存储器提供了庞大的逻辑空间可以任意使用,对应用程序员来说是透明的。 虚拟存储器概述 问题:虚拟存储器是从硬盘上划分出的一部分,那我直接访问硬盘和访问虚拟存储器有什么区别吗?既然虚拟存储器是硬盘上的一部分,那为什么主存不能直接访问硬盘而是要通过虚拟存储器呢?可以这样理解: 1.CPU只能访问内存,所有程序和数据都必须先到主存,CPU不能直接提供硬盘的地址(这会导致硬件设计时考虑的因素太多,因为硬盘的容量、类型等差异很大) 2.内存容量非常有限,不可能将CPU执行程序过程中的所有代码和数据装入内存,需要对主存进行扩充 3.一种扩充办法是增加内存容量,另一种扩充办法是借用硬盘,这借来的部分可以视为虚拟的内存 4.CPU在执行程序时或访问数据时,提供的一个在全局“内存”(含虚拟内存)上的地址,因为在CPU看来,这个扩充后的内存是足够大的 5.显然,CPU提供的在全局“内存”(含虚拟内存)上的地址并不能直接作用在真实内存上,因此需要进行课程提到的映射等 虚拟存储器需要解决的问题 调度问题:哪些程序和数据应被调入物理空间(主存) 地址映射问题 替换问题 更新问题 主要内容 虚拟存储器概述 什么是虚拟存储器 如何表达实地址和虚地址 主存-辅存层次与主存-cache层次的比较 存储器管理 段式管理 页式管理 页式虚拟存储器 段页式虚拟存储器 段是利用程序的模块化性质,按照程序的逻辑结构划分成的多个相对独立的部分 按段调入物理空间 一般用段表来指明各段在主存中的位置,如图所示 段式管理 段式管理的特点 把主存按段分配 优点:段的分界与程序的自然分界相对应;段的逻辑独立性

文档评论(0)

yaocen + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档