操作系统支持《计算机组成原理课件》.ppt
《操作系统支持《计算机组成原理课件》.ppt》由会员分享,可在线阅读,更多相关《操作系统支持《计算机组成原理课件》.ppt(40页珍藏版)》请在三一办公上搜索。
1、第九章 操作系统支持,9.1 操作系统概述9.2 调度9.3 存储管理,9.4 虚拟存储器9.4.1 虚拟存储器的基本概念,虚拟存储器是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。虚拟存储器指的是主存外存层次。它以透明的方式给用户提供了一个比实际主存空间大得多的程序地址空间。,1、实地址与虚地址:为何需要提出虚拟存储器?用户编制程序时使用的地址称为虚地址或逻辑地址,其对应的存储空间称为虚存空间或逻辑地址空间;计算机物理内存的访问地址则称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存空间。程序进行虚地址到实地址转换的过程称为程序的再定位。,逻辑地址(虚地址):由编译程
2、序生成的,是程序的逻辑地址,其地址空间的大小只受到辅助存储器容量的限制。虚存空间程序的逻辑地址空间。物理地址(实地址):由CPU地址引脚送出,用于访问主存的地址。物理存储空间CPU地址总线的宽度为m位,那么物理存储空间的大小用2m来表示。,2、虚存的访问原理 虚存空间的用户程序按照虚地址编程并存放在辅存中。程序运行时,由地址变换机构依据当时分配给该程序的实地址空间把程序的一部分调入实存。每次访存时,首先判断该虚地址所对应的部分是否在实存中:如果是,则进行地址转换并用实地址访问主存;否则,按照某种算法将辅存中的部分程序调度进内存,再按同样的方法访问主存(说明:实存、内存、主存同一个硬件的称谓)。
3、由此可见,每个程序的虚地址空间可以远大于实地址空间,也可以远小于实地址空间。前一种情况以提高存储容量为目的,后一种情况则以地址变换为目的。后者通常出现在多用户或多任务系统中:实存空间较大,而单个任务并不需要很大的地址空间,较小的虚存空间则可以缩短指令中地址字段的长度。,有了虚存机制后,应用程序就可以透明的使用整个虚存空间。在主存命中率很高,虚存的访问时间接近于主存访问时间,而虚存大小依赖于辅存大小注意:虚存是一个概念模型而非物理实体虚存对系统程序员不透明,对应用程序员透明,3、cache与虚存的异同从虚存的概念可以看出,主存辅存的访问机制与cache主存的访问机制是类似的。这是由cache存储
4、器、主存和辅存构成的三级存储体系中的两个层次。cache和主存之间以及主存和辅存之间分别有辅助硬件和辅助软硬件负责地址变换与管理,以便各级存储器能够组成有机的三级存储体系。cache和主存构成了系统的内存,而主存和辅存依靠辅助软硬件的支持构成了虚拟存储器。,主存辅存和cache主存的相同点,出发点相同:二者都是为了提高存储系统的性能价格比而构造的分层存储体系,都力图使存储系统的性能接近高速存储器,而价格和容量接近低速存储器。原理相同:都是利用了程序运行时的局部性原理把最近常用的信息块从相对慢速而大容量的存储器调入相对高速而小容量的存储器。,主存辅存和cache主存的不同点,侧重点不同:cach
5、e主要解决主存与CPU的速度差异问题;而就性能价格比的提高而言,虚存主要是解决存储容量问题,另外还包括存储管理、主存分配和存储保护等方面。数据通路不同:CPU与cache和主存之间均有直接访问通路,cache不命中时可直接访问主存;而虚存所依赖的辅存与CPU之间不存在直接的数据通路,当主存不命中时只能通过调页解决,CPU最终还是要访问主存。,主存辅存和cache主存的不同点,透明性不同:cache的管理完全由硬件完成,对系统程序员和应用程序员均透明;而虚存管理由操作系统和硬件共同完成,由于软件的介入,虚存对实现存储管理的系统程序员不透明,而只对应用程序员透明。未命中时的损失不同由于主存的存取时
6、间是cache的存取时间的510倍,而主存的存取速度通常比辅存的存取速度快上千倍,故主存未命中时系统的性能损失要远大于cache未命中时的损失。,4、虚存机制要解决的关键问题(1)调度问题:决定哪些程序和数据应被调入主存。(2)地址映射问题:在访问主存时把虚地址变为主存物理地址(这一过程称为内地址变换);在访问辅存时把虚地址变成辅存的物理地址(这一过程称为外地址变换),以便换页。此外还要解决主存分配、存储保护与程序再定位等问题。(3)替换问题:决定哪些程序和数据应被调出主存。(4)更新问题:确保主存与辅存的一致性。在操作系统的控制下,硬件和系统软件为用户解决了上述问题,从而使应用程序的编程大大
7、简化。,9.4.2 页式虚拟存储器,1、页式虚存地址映射 页式虚拟存储系统中,虚地址空间被分成等长大小的页,称为逻辑页;主存空间也被分成同样大小的页,称为物理页。相应地,虚地址分为两个字段:高字段为逻辑页号,低字段为页内地址(偏移量);实存地址也分两个字段:高字段为物理页号,低字段为页内地址。通过页表可以把虚地址(逻辑地址)转换成物理地址。,假设逻辑页号为0,1,2,m,物理页号为0,1,n,显然有mn,由于页的大小都取2的整数幂个字,所以,页的起点都落在低位字段为零的地址上。虚存地址分为两个字段:高位字段为逻辑页号,低位字段为页内行地址。实存地址也分两个字段:高位字段为物理页号,低位字段为页
8、内行地址。由于两者的页面大小一样,所以页内行地址是相等的。页式虚拟存储器的地址映射过程见下图。,图9.5 页式虚拟存储器的地址映射过程演示动画,在大多数系统中,每个进程对应一个页表。页表中对应每一个虚存页面有一个表项,表项的内容包含该虚存页面所在的主存页面的地址(物理页号),以及指示该逻辑页是否已调入主存的有效位。地址变换时,用逻辑页号作为页表内的偏移地址索引页表(将虚页号看作页表数组下标)并找到相应物理页号,用物理页号作为实存地址的高字段,再与虚地址的页内偏移量拼接,就构成完整的物理地址。现代的中央处理机通常有专门的硬件支持地址变换。每个进程所需的页数并不固定,所以页表的长度是可变的,因此通
9、常的实现方法是把页表的基地址保存在寄存器中,而页表本身则放在主存中。由于虚存地址空间可以很大,因而每个进程的页表有可能非常长。例如,如果一个进程的虚地址空间为2G字节,每页的大小为512字节,则总的虚页数为231/29=222。,为了节省页表本身占用的主存空间,一些系统把页表存储在虚存中,因而页表本身也要进行分页。当一个进程运行时,其页表中一部分在主存中,另一部分则在辅存中保存。另一些系统采用二级页表结构。每个进程有一个页目录表,其中的每个表项指向一个页表。因此,若页目录表的长度(表项数)是m,每个页表的最大长度(表项数)为n,则一个进程最多可以有mn个页。在页表长度较大的系统中,还可以采用反
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机组成原理课件 操作系统 支持 计算机 组成 原理 课件
链接地址:https://www.31ppt.com/p-6575569.html