- 1、本文档共46页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
虚拟内存-计算机电脑培训
第10章 虚拟内存 10.1 虚拟内存-研究背景 第9章内存管理(实存)要求:将整个进程放在内存中(虽然覆盖和交换可以减轻这一限制,但需额外操作)。但下列情况下并不需要将整个程序放入内存中: 程序中通常的处理异常错误条件的代码 数组、链表和表通常分配了比实际所需要更多的内存 程序的某些选项或特点可能很少使用 允许执行只有部分在内存中的程序 程序不再受现有的物理内存空间限制。用户只有对一个大的虚拟地址空间写程序,简化了编程操作 提高了程序执行的并发性、CPU利用率 10.1 虚拟内存-局部性原理 局部性原理(principle of locality):指程序在执行过程中的一个较短时期,所执行的指令地址和指令的操作数地址,分别局限于一定区域。还可以表现为: 时间局部性:一条指令的一次执行和下次执行,一个数据的一次访问和下次访问都集中在一个较短时期内(一条指令被执行了,则在不久的将来它可能再被执行) 空间局部性:当前指令和邻近的几条指令,当前访问的数据和邻近的数据都集中在一个较小区域内。( 若某一存储单元被使用,则在一定时间内,与该存储单元相邻的单元可能被使用) 10.1虚拟内存- -局部性原理 局部性原理的具体体现 程序在执行时,大部分是顺序执行的指令,少部分是转移和过程调用指令。 过程调用的嵌套深度一般不超过5,因此执行的范围不超过这组嵌套的过程。 程序中存在相当多的循环结构,它们由少量指令组成,而被多次执行。 程序中存在相当多对一定数据结构的操作,如数组操作,往往局限在较小范围内。 10.1虚拟内存--概念 虚拟内存 将内存看成一个巨大的、统一的存储数组;总容量不超过物理内存和外存交换区容量之和 虚拟内存的实现途径 请求页面调度 ( Demand paging ) 请求分段调度(Demand segmentation) 10.1虚拟内存—原理 在程序装入时,不必将其全部读入到内存,而只需将当前需要执行的部分页或段读入到内存,就可让程序开始执行。 在程序执行过程中,如果需执行的指令或访问的数据尚未在内存(称为缺页或缺段),则由处理器通知操作系统将相应的页或段调入到内存,然后继续执行程序。 另一方面,操作系统将内存中暂时不使用的页或段调出保存在外存上,从而腾出空间存放将要装入的程序以及将要调入的页或段。只需程序所需的一部分在内存就可执行。 10.1虚拟内存—技术特征 大程序:可在较小的可用内存中执行较大的用户程序; 大的用户空间:提供给用户可用的虚拟内存空间通常大于物理内存(real memory),将用户看到的逻辑内存与物理内存分开; 并发:可在内存中容纳更多程序并发执行; 易于开发:与覆盖技术比较,不必影响编程时的程序结构 部分装入:允许部分程序代码装入内存就可以执行; 10.1虚拟内存—好处 不连续性:物理内存分配的不连续,虚拟地址空间使用的不连续 部分交换:与交换技术相比较,虚拟存储的调入和调出是对部分虚拟地址空间进行的; 大空间:通过物理内存和快速外存相结合,提供大范围的虚拟地址空间 总容量不超过物理内存和外存交换区容量之和 10.1虚拟内存—实现方法(种类) 虚拟页式-请求页面调度 虚拟段式-请求段式调度 虚拟段页式 10.2 请求页面调度-基本思想 思想:在简单页式存储管理的基础上,增加请求调页和页面置换功能 在程序装入时,不必将其全部读入到内存,而只需将当前需要执行的部分页读入到内存(一个或零个页面,就可让程序开始执行。之后根据进程运行的需要,动态装入其它页面; 在程序执行过程中,如果需执行的指令或访问的数据尚未在内存(称为缺页),则由处理器通知操作系统将相应的页或段调入到内存,然后继续执行程序。 另一方面,当内存空间已满,而又需要装入新的页面时,则根据某种算法淘汰某个页面(将内存中暂时不使用的页或段调出保存在外存上) ,而腾出空间存放将要装入的程序的页。 10.2 请求页面调度-对进程页表的修改 页表:每个进程有一个,与简单分页相比,增加了如下位: P:表示该页是否在内存中。如果在主存,则页表中还包括该页的帧号。(或称“有效-无效位”:“有效”时:页既合法、也在内存中;“无效”时:页不在进程的逻辑地址空间、或者在磁盘上) M:修改位,表示相应页的内容从上次装入主存到现在是否已经改变。 如果没有改变,则该页换出时,不需要重新写回到磁盘上 如果改变了,则该页换出时,需要重新写回到磁盘上 还有其它一些用于保护和共享的位。 10.2 请求页面调度-对进程页表的修改 10.2 请求页面调度-缺页中断处理 在地址映射过程中,在页表中发现所要访问的页不在内存,则产生缺页中断(page Fault)。 操作系统接到此中断信号后,就调出缺页中断处理程序,根据页表中给出的外存地址,将该页调入内存,使作业继续运行下
文档评论(0)