电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

操作系统支持《计算机组成原理

40页
  • 卖家[上传人]:san****019
  • 文档编号:70852479
  • 上传时间:2019-01-18
  • 文档格式:PPT
  • 文档大小:1.10MB
  • / 40 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、第九章 操作系统支持,9.1 操作系统概述 9.2 调度 9.3 存储管理,9.4 虚拟存储器 9.4.1 虚拟存储器的基本概念,虚拟存储器是一个容量非常大的存储器的逻辑模型,不是任何实际的物理存储器。 虚拟存储器指的是主存外存层次。它以透明的方式给用户提供了一个比实际主存空间大得多的程序地址空间。,1、实地址与虚地址: 为何需要提出虚拟存储器? 用户编制程序时使用的地址称为虚地址或逻辑地址,其对应的存储空间称为虚存空间或逻辑地址空间; 计算机物理内存的访问地址则称为实地址或物理地址,其对应的存储空间称为物理存储空间或主存空间。 程序进行虚地址到实地址转换的过程称为程序的再定位。,逻辑地址(虚地址): 由编译程序生成的,是程序的逻辑地址,其地址空间的大小只受到辅助存储器容量的限制。 虚存空间 程序的逻辑地址空间。 物理地址(实地址): 由CPU地址引脚送出,用于访问主存的地址。 物理存储空间 CPU地址总线的宽度为m位,那么物理存储空间的大小用2m来表示。,2、虚存的访问原理 虚存空间的用户程序按照虚地址编程并存放在辅存中。程序运行时,由地址变换机构依据当时分配给该程序的实地址空间把程

      2、序的一部分调入实存。 每次访存时,首先判断该虚地址所对应的部分是否在实存中:如果是,则进行地址转换并用实地址访问主存;否则,按照某种算法将辅存中的部分程序调度进内存,再按同样的方法访问主存(说明:实存、内存、主存同一个硬件的称谓)。 由此可见,每个程序的虚地址空间可以远大于实地址空间,也可以远小于实地址空间。前一种情况以提高存储容量为目的,后一种情况则以地址变换为目的。后者通常出现在多用户或多任务系统中:实存空间较大,而单个任务并不需要很大的地址空间,较小的虚存空间则可以缩短指令中地址字段的长度。,有了虚存机制后,应用程序就可以透明的使用整个虚存空间。 在主存命中率很高,虚存的访问时间接近于主存访问时间,而虚存大小依赖于辅存大小 注意:虚存是一个概念模型而非物理实体 虚存对系统程序员不透明,对应用程序员透明,3、cache与虚存的异同 从虚存的概念可以看出,主存辅存的访问机制与cache主存的访问机制是类似的。这是由cache存储器、主存和辅存构成的三级存储体系中的两个层次。 cache和主存之间以及主存和辅存之间分别有辅助硬件和辅助软硬件负责地址变换与管理,以便各级存储器能够组成有机

      3、的三级存储体系。cache和主存构成了系统的内存,而主存和辅存依靠辅助软硬件的支持构成了虚拟存储器。,主存辅存和cache主存的相同点,出发点相同: 二者都是为了提高存储系统的性能价格比而构造的分层存储体系,都力图使存储系统的性能接近高速存储器,而价格和容量接近低速存储器。 原理相同: 都是利用了程序运行时的局部性原理把最近常用的信息块从相对慢速而大容量的存储器调入相对高速而小容量的存储器。,主存辅存和cache主存的不同点,侧重点不同: cache主要解决主存与CPU的速度差异问题;而就性能价格比的提高而言,虚存主要是解决存储容量问题,另外还包括存储管理、主存分配和存储保护等方面。 数据通路不同: CPU与cache和主存之间均有直接访问通路,cache不命中时可直接访问主存;而虚存所依赖的辅存与CPU之间不存在直接的数据通路,当主存不命中时只能通过调页解决,CPU最终还是要访问主存。 ,主存辅存和cache主存的不同点,透明性不同: cache的管理完全由硬件完成,对系统程序员和应用程序员均透明;而虚存管理由操作系统和硬件共同完成,由于软件的介入,虚存对实现存储管理的系统程序员不透

      4、明,而只对应用程序员透明。 未命中时的损失不同 由于主存的存取时间是cache的存取时间的510倍,而主存的存取速度通常比辅存的存取速度快上千倍,故主存未命中时系统的性能损失要远大于cache未命中时的损失。,4、虚存机制要解决的关键问题 (1)调度问题:决定哪些程序和数据应被调入主存。 (2)地址映射问题:在访问主存时把虚地址变为主存物理地址(这一过程称为内地址变换);在访问辅存时把虚地址变成辅存的物理地址(这一过程称为外地址变换),以便换页。此外还要解决主存分配、存储保护与程序再定位等问题。 (3)替换问题:决定哪些程序和数据应被调出主存。 (4)更新问题:确保主存与辅存的一致性。 在操作系统的控制下,硬件和系统软件为用户解决了上述问题,从而使应用程序的编程大大简化。,9.4.2 页式虚拟存储器,1、页式虚存地址映射 页式虚拟存储系统中,虚地址空间被分成等长大小的页,称为逻辑页;主存空间也被分成同样大小的页,称为物理页。相应地,虚地址分为两个字段:高字段为逻辑页号,低字段为页内地址(偏移量);实存地址也分两个字段:高字段为物理页号,低字段为页内地址。通过页表可以把虚地址(逻辑地址)

      5、转换成物理地址。,假设逻辑页号为0,1,2,m,物理页号为0,1,n,显然有mn,由于页的大小都取2的整数幂个字,所以,页的起点都落在低位字段为零的地址上。 虚存地址分为两个字段:高位字段为逻辑页号,低位字段为页内行地址。 实存地址也分两个字段:高位字段为物理页号,低位字段为页内行地址。由于两者的页面大小一样,所以页内行地址是相等的。 页式虚拟存储器的地址映射过程见下图。,图9.5 页式虚拟存储器的地址映射过程 演示动画,在大多数系统中,每个进程对应一个页表。页表中对应每一个虚存页面有一个表项,表项的内容包含该虚存页面所在的主存页面的地址(物理页号),以及指示该逻辑页是否已调入主存的有效位。地址变换时,用逻辑页号作为页表内的偏移地址索引页表(将虚页号看作页表数组下标)并找到相应物理页号,用物理页号作为实存地址的高字段,再与虚地址的页内偏移量拼接,就构成完整的物理地址。现代的中央处理机通常有专门的硬件支持地址变换。 每个进程所需的页数并不固定,所以页表的长度是可变的,因此通常的实现方法是把页表的基地址保存在寄存器中,而页表本身则放在主存中。由于虚存地址空间可以很大,因而每个进程的页表有可

      6、能非常长。例如,如果一个进程的虚地址空间为2G字节,每页的大小为512字节,则总的虚页数为231/29=222。,为了节省页表本身占用的主存空间,一些系统把页表存储在虚存中,因而页表本身也要进行分页。当一个进程运行时,其页表中一部分在主存中,另一部分则在辅存中保存。 另一些系统采用二级页表结构。每个进程有一个页目录表,其中的每个表项指向一个页表。因此,若页目录表的长度(表项数)是m,每个页表的最大长度(表项数)为n,则一个进程最多可以有mn个页。 在页表长度较大的系统中,还可以采用反向页表实现物理页号到逻辑页号的反向映射。页表中对应每一个物理页号有一个表项,表项的内容包含该物理页所对应的逻辑页号。访存时,通过逻辑页号在反向页表中逐一查找。如果找到匹配的页,则用表项中的物理页号取代逻辑页号;如果没有匹配表项,则说明该页不在主存中。这种方式的优点是页表所占空间大大缩小,但代价是需要对反向页表进行检索,查表的时间很长。有些系统通过散列(哈希)表加以改进。,2、转换后援缓冲器 由于页表通常在主存中,因而即使逻辑页已经在主存中,也至少要访问两次物理存储器才能实现一次访存,这将使虚拟存储器的存取时

      7、间加倍。为了避免对主存访问次数的增多,可以对页表本身实行二级缓存,把页表中的最活跃的部分存放在高速存储器中,组成快表。这个专用于页表缓存的高速存储部件通常称为转换后援缓冲器(TLB)。保存在主存中的完整页表则称为慢表。,图9.6 TLB的地址映射过程,演示动画,例题:如下图表示用快表(页表)的虚实地址转换条件,快表放在相联存贮器中,其容量为8个存贮单元,问: (1)当CPU按虚拟地址1去访问主存时主存的实地址码是多少? (2)当CPU按虚拟地址2去访问主存时主存的实地址码是多少? (3)当CPU按虚拟地址3去访问主存时主存的实地址码是多少?,3、内页表和外页表 页表是虚地址到主存物理地址的变换表,通常称为内页表。与内页表对应的还有外页表,用于虚地址与辅存地址之间的变换。当主存缺页时,调页操作首先要定位辅存,而外页表的结构与辅存的寻址机制密切相关。例如对磁盘而言,辅存地址包括磁盘机号、磁头号、磁道号和扇区号等。,9.4.3 段式虚拟存储器和段页式虚拟存储器,1、段式虚拟存储器 在段式虚拟存储系统中,段是按照程序的逻辑结构划分的,各个段的长度因程序而异,虚拟地址由段号和段内地址组成。,为了

      8、把虚拟地址变换成实主存地址,需要一个段表,装入位为“1”表示该段已调入主存,为“0”则表示该段不在主存中;段的长度可大可小,所以,段表中需要有长度指示。 在访问某段时,如果段内地址值超过段的长度,则发生地址越界中断。段表也是一个段,可以存在外存中,需要时再调入主存。但一般是驻留在主存中。,图9.7 段式虚存的地址映射过程 动画演示,段式虚拟存储器的优缺点,优点: 段的逻辑独立性使其易于编译、管理、修改和保护,也便于多道程序共享。 段长可以根据需要动态改变,允许自由调度,以便有效利用主存空间。 缺点: 因为段的长度不固定,主存空间分配比较麻烦。 容易在段间留下许多外碎片,造成存储空间利用率降低。 由于段长不一定是2的整数次幂,因而不能简单地像分页方式那样用虚地址和实地址的最低若干二进制位作为段内偏移量,并与段号进行直接拼接,必须用加法操作通过段起址与段内偏移量的求和运算求得物理地址。因此,段式存储管理比页式存储管理方式需要更多的硬件支持。,2、段页式虚拟存储器 段页式虚拟存储器是段式虚似存储器和页式虚拟存储器的结合。 在这种方式中,把程序按逻辑单位分段以后,再把每段分成固定大小的页。程序

      9、对主存的调入调出是按页面进行的,但它又可以按段实现共享和保护。 因此,它可以兼取页式和段式系统的优点。它的缺点是在地址映象过程中需要多次查表。 目前,大中型机一般都采用这种段页式存储管理方式。,多道程序:如果有多个用户在机器上独立运行就称为多道程序。 多道程序的每一道(每个用户)需要一个基号(用户标志号),可由它指明该道程序的段表起始地址(存放在基址寄存器中)。 这样,虚拟地址应包括基号、段号、页号、页内地址。格式如下:,例1:今假设有三道程序(用户标志号为A,B,C),其基址寄存器内容分别为SA,SB,SC,逻辑地址到物理地址的转移过程见下图。在主存中,每道程序都有一张段表,A程序有4段,C程序有3段。每段应有一张页表,段表的每行就表示相应页表的起始位置,而页表内的每行即为相应的物理页号。 解:地址转换过程如下: (1)根据基号C,执行SC(基址寄存器内容)加1(段号)操作,得到段表相应行地址,其内容为页表的起始地址b。 (2)执行b(页表起始地址)+2(页号),得到物理页号的地址,其内容即为物理页号10。 (3)物理页号与页内地址拼接即得物理地址。,图9.8 段页式虚存的地址变换过程,9.4.4 替换算法,虚拟存储器中的页面替换策略和cache中的行替换策略有很多相似之处,但有三点显著不同: (1)缺页至少要涉及一次磁盘存取,读取所缺的页,缺页使系统蒙受的损失要比cache未命中大得多。 (2)页面替换是由操作系统软件实现的。 (3)页面替换的选择余地很大,属于一个进程的页面都可替换。,例2 假设主存只有a,b,c三个页框,组成a进c出的FIFO队列,进程访问页面的序列是0,1,2,4,2,3,0,2,1,3,2号。若采用FIFO算法,FIFO算法+LRU算法,用列表法分别求两种替换策略情况下的命中率。 【解】求解表格如下所示,例:在页式虚拟存储器中,若主存容量为16MB,页面容量为4KB,程序地址空间为1G,问虚页号有多少位?页表长度为多少?页内地址有多少位? 解:由于页面容量为4KB=212B,程序地址空间=1GB=230B,故虚页号位数=30-12=18,页表长度=218行,页内地址为12位。,例:设主存容量4MB,虚存容量1GB,页面大小为4KB。 1、写出主存地址格式。 2、写出

      《操作系统支持《计算机组成原理》由会员san****019分享,可在线阅读,更多相关《操作系统支持《计算机组成原理》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
     
    收藏店铺
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.