第9章操作系统支持《计算机组成原理课件》.pptVIP

第9章操作系统支持《计算机组成原理课件》.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章操作系统支持《计算机组成原理课件》

第九章 操作系统支持;9.1 操作系统概述 9.2 调度 9.3 存储管理 ;9.4 虚拟存储器 9.4.1 虚拟存储器的基本概念 ;1、实地址与虚地址: 为何需要提出虚拟存储器? 用户编制程序时使用的地址称为虚地址或逻辑地址,其对应的存储空间称为虚存空间或逻辑地址空间; 计算机物理内存的访问地址则称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存空间。 程序进行虚地址到实地址转换的过程称为程序的再定位。;逻辑地址(虚地址): 由编译程序生成的,是程序的逻辑地址,其地址空间的大小只受到辅助存储器容量的限制。 虚存空间 程序的逻辑地址空间。 物理地址(实地址): 由CPU地址引脚送出,用于访问主存的地址。 物理存储空间 CPU地址总线的宽度为m位,那么物理存储空间的大小用2m来表示。;2、虚存的访问原理 虚存空间的用户程序按照虚地址编程并存放在辅存中。程序运行时,由地址变换机构依据当时分配给该程序的实地址空间把程序的一部分调入实存。 每次访存时,首先判断该虚地址所对应的部分是否在实存中:如果是,则进行地址转换并用实地址访问主存;否则,按照某种算法将辅存中的部分程序调度进内存,再按同样的方法访问主存(说明:实存、内存、主存同一个硬件的称谓)。 由此可见,每个程序的虚地址空间可以远大于实地址空间,也可以远小于实地址空间。前一种情况以提高存储容量为目的,后一种情况则以地址变换为目的。后者通常出现在多用户或多任务系统中:实存空间较大,而单个任务并不需要很大的地址空间,较小的虚存空间则可以缩短指令中地址字段的长度。;有了虚存机制后,应用程序就可以透明的使用整个虚存空间。 在主存命中率很高,虚存的访问时间接近于主存访问时间,而虚存大小依赖于辅存大小 注意:虚存是一个概念模型而非物理实体 虚存对系统程序员不透明,对应用程序员透明;3、cache与虚存的异同 从虚存的概念可以看出,主存-辅存的访问机制与cache-主存的访问机制是类似的。这是由cache存储器、主存和辅存构成的三级存储体系中的两个层次。 cache和主存之间以及主??和辅存之间分别有辅助硬件和辅助软硬件负责地址变换与管理,以便各级存储器能够组成有机的三级存储体系。cache和主存构成了系统的内存,而主存和辅存依靠辅助软硬件的支持构成了虚拟存储器。;主存-辅存和cache-主存的相同点;主存-辅存和cache-主存的不同点;主存-辅存和cache-主存的不同点;4、虚存机制要解决的关键问题 (1)调度问题:决定哪些程序和数据应被调入主存。 (2)地址映射问题:在访问主存时把虚地址变为主存物理地址(这一过程称为内地址变换);在访问辅存时把虚地址变成辅存的物理地址(这一过程称为外地址变换),以便换页。此外还要解决主存分配、存储保护与程序再定位等问题。 (3)替换问题:决定哪些程序和数据应被调出主存。 (4)更新问题:确保主存与辅存的一致性。 在操作系统的控制下,硬件和系统软件为用户解决了上述问题,从而使应用程序的编程大大简化。;9.4.2 页式虚拟存储器;假设逻辑页号为0,1,2,…,m,物理页号为0,1,…,n,显然有mn,由于页的大小都取2的整数幂个字,所以,页的起点都落在低位字段为零的地址上。 虚存地址分为两个字段:高位字段为逻辑页号,低位字段为页内行地址。 实存地址也分两个字段:高位字段为物理页号,低位字段为页内行地址。由于两者的页面大小一样,所以页内行地址是相等的。 页式虚拟存储器的地址映射过程见下图。 ;图9.5 页式虚拟存储器的地址映射过程 演示动画;在大多数系统中,每个进程对应一个页表。页表中对应每一个虚存页面有一个表项,表项的内容包含该虚存页面所在的主存页面的地址(物理页号),以及指示该逻辑页是否已调入主存的有效位。地址变换时,用逻辑页号作为页表内的偏移地址索引页表(将虚页号看作页表数组下标)并找到相应物理页号,用物理页号作为实存地址的高字段,再与虚地址的页内偏移量拼接,就构成完整的物理地址。现代的中央处理机通常有专门的硬件支持地址变换。 每个进程所需的页数并不固定,所以页表的长度是可变的,因此通常的实现方法是把页表的基地址保存在寄存器中,而页表本身则放在主存中。由于虚存地址空间可以很大,因而每个进程的页表有可能非常长。例如,如果一个进程的虚地址空间为2G字节,每页的大小为512字节,则总的虚页数为231/29=222。;为了节省页表本身占用的主存空间,一些系统把页表存储在虚存中,因而页表本身也要进行分页。当一个进程运行时,其页表中一部分在主存中,另一部分则在辅存中保存。 另一些系统采用二级页表结构。每个进程有一个页目录表,其中的每个表项指向一个页表。因此,若页目录表的长度(表项数)是m,每个页表的最大长度(表项数)为n,则一个进程最

文档评论(0)

shaoye348 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档