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