- 1、本文档共82页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.5虚拟存储管理 4.5.1 虚拟存储管理的概念 4.5.2 请求分页虚拟存储管理4.5.3 请求分段虚拟存储管理 4.5.4 请求段页式虚拟存储管理 4.5.1 虚拟存储管理的概念 为什么要引入虚拟存储器? 实现虚拟存储器的基本思路。 虚拟存储器的定义: 在具有层次结构存储器的计算机系统中,采用自动实现部分装入和部分对换功能,为用户提供一个比物理主存容量大得多的,可寻址的一种“主存储器”。 虚拟存储器的概念图 程序局部性原理(1) 指程序在执行过程中的一个较短时间内,所执行的指令地址或操作数地址分别局限于一定的存储区域中。又可细分时间局部性和空间局部性。 程序局部性原理 (2) 第一,程序中只有少量分支和过程调用,大都是顺序执行的指令; 第二,程序含有若干循环结构,由少量代码组成,而被多次执行; 第三,过程调用的深度限制在小范围内,因而,指令引用通常被局限在少量过程中; 第四,涉及数组、记录之类的数据结构,对它们的连续引用是对位置相邻的数据项的操作; 第五,程序中有些部分彼此互斥,不是每次运行时都用到。 实现虚拟存储器须解决的问题 ?主存辅存统一管理问题、 ?逻辑地址到物理地址的转换问题、 ?部分装入和部分对换问题。 虚拟存储管理实现技术 ?请求分页虚拟存储管理 ?请求分段虚拟存储管理 ?请求段页式虚拟存储管理 4.5.2分页式虚拟存储系统 1?分页式虚拟存储系统的硬件支撑(1) 主存管理单元MMU完成逻辑地址到物理地址的转换功能,它接受虚拟地址作为输入,物理地址作为输出,直接送到总线上,对主存单元进行寻址。 分页式虚拟存储系统的硬件支撑(2) MMU主要功能 (1)管理硬件页表基址寄存器。 (2)分解逻辑地址。 (3)管理快表TLB。 (4)访问页表。 (5)发出缺页中断或越界中断,并将控制权交给内核存储管理处理。 (6)设置和检查页表中各个特征位。 缺页中断处理的过程 步1 挂起请求缺页的进程; 步2 根据页号查外页表,找到该页存放的磁盘物理地址; 步3 查看主存是否有空闲页框,如有则找出一个,修改主存管理表和相应页表项内容,转步6;, 步4 如主存中无空闲页框,按替换算法选择淘汰页面,检查它曾被写过或修改过吗?若未则转步6;若是则转步5; 步5 该淘汰页面被写过或修改过,则把它的内容写回磁盘原先位置; 步6 进行调页,把页面装入主存所分配的页框中,同时修改进程页表项; 步7 返回进程断点,重新启动被中断的指令。 2请求分页虚拟存储系统的基本原理 分页式虚存不把作业信息(程序和数据)全部装入主存,仅装入立即使用的页面,在执行过程中访问到不在主存的页面时,产生缺页中断,再从磁盘动态地装入 。 怎样才能发现页面不在主存中呢?怎样处理这种情况呢? 采用的办法是:扩充页表的内容,增加驻留标志位等信息。 页式虚拟存储管理页表扩展 驻留标志位(又称中断位) 修改位(Modified) 引用位(Renferenced) 外页表 页面与磁盘物理地址的对应表,由操作系统管理,进程启动运行前系统为其建立外页表,并把进程程序页面装入辅存。 该表按进程页号的顺序排列,为节省主存,外页表可存放在磁盘中,当发生缺页中断需要查用时才被调入。 请求分页虚存地址转换过程(1) 请求分页虚存地址转换过程(2) 请求页式虚拟存储系统优缺点 ?优点:作业的程序和数据可按页分散存放在主存中,减少移动开销,有效解决了碎片问题;既有利于改进主存利用率,又有利于多道程序运行。 ?缺点:要有硬件支持,要进行缺页中断处理,机器成本增加,系统开销加大。 3 页面装入策略和页面清除策略 页面装入主存,有两种策略: ?请页式调度 ?预调式调度 何时把一个修改过的页面写回辅存储器,有两种策略: ? 请页式清除 ? 预清除。 4页面分配策略 系统为进程分配主存,需考虑因素: ①分给进程的空间越小,同一时间处于主存的进程就越多,至少有一个进程处于就绪态的可能性就越大 ②如果进程只有小部分在主存里,即使局部性很好,缺页中断率还会相当高 ③因程序的局部性原理,分给进程的主存超过一定限度后,再增加主存空间,不会明显降低进程的缺页中断率。 页面分配策略:固定分配 进程保持页框数固定不变,称固定分配; 进程创建时,根据进程类型和程序员的要求决定页框数,只要有一个缺页中断产生,进程就会有一页被替换。 页面分配策略:可变分配 进程分得的页框数可变, 称可变分配; 进程执行的某阶段缺页率较高,说明目前局部性较差,系统可多分些页框以降低缺页率,反之
文档评论(0)