欢迎来到天天文库
浏览记录
ID:57016379
大小:796.50 KB
页数:40页
时间:2020-07-26
《操作系统支持《计算机组成原理课件》.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第九章操作系统支持9.1操作系统概述9.2调度9.3存储管理9.4虚拟存储器9.4.1虚拟存储器的基本概念虚拟存储器是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。虚拟存储器指的是主存——外存层次。它以透明的方式给用户提供了一个比实际主存空间大得多的程序地址空间。1、实地址与虚地址:为何需要提出虚拟存储器?用户编制程序时使用的地址称为虚地址或逻辑地址,其对应的存储空间称为虚存空间或逻辑地址空间;计算机物理内存的访问地址则称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存空间。程序进行虚地址到实地址转换的过程称为程序的再定位。逻辑地址(虚地址):由编译
2、程序生成的,是程序的逻辑地址,其地址空间的大小只受到辅助存储器容量的限制。虚存空间程序的逻辑地址空间。物理地址(实地址):由CPU地址引脚送出,用于访问主存的地址。物理存储空间CPU地址总线的宽度为m位,那么物理存储空间的大小用2m来表示。2、虚存的访问原理虚存空间的用户程序按照虚地址编程并存放在辅存中。程序运行时,由地址变换机构依据当时分配给该程序的实地址空间把程序的一部分调入实存。每次访存时,首先判断该虚地址所对应的部分是否在实存中:如果是,则进行地址转换并用实地址访问主存;否则,按照某种算法将辅存中的部分程序调度进内存,再按同样的方法访问主存(说明:实存、内存、主存同
3、一个硬件的称谓)。由此可见,每个程序的虚地址空间可以远大于实地址空间,也可以远小于实地址空间。前一种情况以提高存储容量为目的,后一种情况则以地址变换为目的。后者通常出现在多用户或多任务系统中:实存空间较大,而单个任务并不需要很大的地址空间,较小的虚存空间则可以缩短指令中地址字段的长度。有了虚存机制后,应用程序就可以透明的使用整个虚存空间。在主存命中率很高,虚存的访问时间接近于主存访问时间,而虚存大小依赖于辅存大小注意:虚存是一个概念模型而非物理实体虚存对系统程序员不透明,对应用程序员透明3、cache与虚存的异同从虚存的概念可以看出,主存-辅存的访问机制与cache-主存
4、的访问机制是类似的。这是由cache存储器、主存和辅存构成的三级存储体系中的两个层次。cache和主存之间以及主存和辅存之间分别有辅助硬件和辅助软硬件负责地址变换与管理,以便各级存储器能够组成有机的三级存储体系。cache和主存构成了系统的内存,而主存和辅存依靠辅助软硬件的支持构成了虚拟存储器。主存-辅存和cache-主存的相同点出发点相同:二者都是为了提高存储系统的性能价格比而构造的分层存储体系,都力图使存储系统的性能接近高速存储器,而价格和容量接近低速存储器。原理相同:都是利用了程序运行时的局部性原理把最近常用的信息块从相对慢速而大容量的存储器调入相对高速而小容量的
5、存储器。主存-辅存和cache-主存的不同点侧重点不同:cache主要解决主存与CPU的速度差异问题;而就性能价格比的提高而言,虚存主要是解决存储容量问题,另外还包括存储管理、主存分配和存储保护等方面。数据通路不同:CPU与cache和主存之间均有直接访问通路,cache不命中时可直接访问主存;而虚存所依赖的辅存与CPU之间不存在直接的数据通路,当主存不命中时只能通过调页解决,CPU最终还是要访问主存。主存-辅存和cache-主存的不同点透明性不同:cache的管理完全由硬件完成,对系统程序员和应用程序员均透明;而虚存管理由操作系统和硬件共同完成,由于软件的介入,虚存
6、对实现存储管理的系统程序员不透明,而只对应用程序员透明。未命中时的损失不同由于主存的存取时间是cache的存取时间的5~10倍,而主存的存取速度通常比辅存的存取速度快上千倍,故主存未命中时系统的性能损失要远大于cache未命中时的损失。4、虚存机制要解决的关键问题(1)调度问题:决定哪些程序和数据应被调入主存。(2)地址映射问题:在访问主存时把虚地址变为主存物理地址(这一过程称为内地址变换);在访问辅存时把虚地址变成辅存的物理地址(这一过程称为外地址变换),以便换页。此外还要解决主存分配、存储保护与程序再定位等问题。(3)替换问题:决定哪些程序和数据应被调出主存。(
7、4)更新问题:确保主存与辅存的一致性。在操作系统的控制下,硬件和系统软件为用户解决了上述问题,从而使应用程序的编程大大简化。9.4.2页式虚拟存储器1、页式虚存地址映射页式虚拟存储系统中,虚地址空间被分成等长大小的页,称为逻辑页;主存空间也被分成同样大小的页,称为物理页。相应地,虚地址分为两个字段:高字段为逻辑页号,低字段为页内地址(偏移量);实存地址也分两个字段:高字段为物理页号,低字段为页内地址。通过页表可以把虚地址(逻辑地址)转换成物理地址。假设逻辑页号为0,1,2,…,m,物理页号为0,1,…,n,显然有m
此文档下载收益归作者所有