欢迎来到天天文库
浏览记录
ID:59432001
大小:490.50 KB
页数:30页
时间:2020-09-18
《虚拟存储器管理ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、3.6虚拟存储器管理前面介绍的分区(固定分区和可变式分区)存储管理和分页、分段式存储管理技术,都要求作业在执行之前必须全部装入内存,并且作业的逻辑地址空间不能比内存空间大,否则该作业就无法装入内存运行,这就存在大作业与小内存的矛盾问题。为解决这一问题,人们提出了虚拟存储管理技术。下面,我们首先看一下虚拟存储器的概念,然后介绍两种常见的虚拟存储管理方案:请求页式存储管理与请求段式存储管理。3.6.1虚拟存储的概念虚拟存储器的基本思想:就是把内存与外存统一起来形成一个存储器。作业运行时,只把必需的一部分信息调入内存,其余部分仍放在外存,当需要时,由系统自动将其从外存调入内存。实际上,
2、这一思想的理论依据是程序的局部性原理。所谓程序的局部性原理,是指在一段时间内,程序执行过程中往往是集中地访问某一部分内存区域中的指令或数据,所以一个作业,特别是大作业,只需要装入其中的一部分就可以正常运行,而且我们也熟知这样一些事实:①程序中往往会有一些彼此互斥的部分。②在一个完整的程序中,会有一些诸如出错处理这样的子程序,在作业正常运行情况下不会执行这些程序,没有必要把它们调入内存。基于程序局部性原理和上述情况,就没有必要把一个作业一次性全部装入内存再开始运行。可以把程序当前执行所涉及的程序和数据放入内存中,其余部分可根据需要临时调入,由操作系统和硬件相配合来完成内存和外存之间
3、信息的动态调度。这样的计算机系统好像为用户提供了一个存储容量比实际内存大得多的存储器,就称为虚拟存储器。采用虚拟存储管理技术,提供了存储扩充的功能,给用户带来了很大方便,使内存空间可以得到有效利用。当然,也使存储管理技术趋向于复杂,下面介绍两种常见的虚存管理方案。3.6.2请求页式存储管理请求页式存储管理是在分页式存储管理的基础上发展起来的。请求页式存储管理与分页式存储管理在内存块的分配与回收,存储保护等方面都十分相似,不同之处在于地址重定位问题。在请求页式存储管理的地址重定位时,可能会出现所需页面不在内存的情况,此时,系统必须解决以下两个问题:①当程序要访问的某页不在内存时,如
4、何发现这种缺页情况?发现后应如何处理?②当需要把外存上的某个页面调入内存时,此时内存中没有空闲块应怎么办?如图3.19所示是请求页式存储管理的存储映像。为简单起见,对每个作业一般可事先分配一个固定数目的内存块数。在图3.23中,我们假设作业1分得的固定块数为3。MovR1,[2500]9406250…121…142…03…164…0操作系统操作系统作业1其他作业MovR1,[2500]作业1作业1页号辅存地址状态位块号01KB2KB3KB4KB5KB1KB2KB3KB4KB5KB6KB7KB8KB0图3.23请求页式存储管理的存储映像由图3.23可以看出,作业1的第0页、1页和3
5、页已分别装到内存2、4、6块中。当程序执行到MovR1,[2500]这条指令时,2500这个逻辑地址,由硬件分页后得到页号P=2,查页表知第2页对应的表项中状态位=0,该页不在内存,发生缺页中断,由操作系统通过软件中断来处理。若内存中该作业尚未占满所分得的内存块,直接调入需要页面,修改页表,完成中断,返回指令被中止处继续执行。而现在作业1分得的固定块数已用完,为使程序执行,必须置换掉已在内存中的某页,将需要的页面调入。这牵扯到第二个问题,即页面置换问题。发生页面置换时,被置换出内存的页面是否需要再写到外存呢?这要看被置换的页在进入内存后是否被修改过。若在程序执行过程中已作修改,则
6、应写回外存,否则,就不必写回外存。为此,在页表中还应增加修改位,以标志该页在内存中是否被修改过。另外,为了帮助操作系统对要置换出内存的页面进行选择,在页表中还可以增加一个引用位,以反映该页最近的使用情况。一般来说,一个页表的表项通常可包括如下的数据内容:页号内存块号状态位修改位引用位外存地址存取控制其他图3.24一个页表表项可以包括的数据内容请求页式存储管理中的地址重定位和缺页中断处理过程如图3.25所示。请求页式存储管理的虚拟存储功能是由硬件和软件相配合实现的。在图3.25中,虚线上面部分由硬件实现,下面部分通常由软件实现。必须指出,这里仅给出了一个很粗略的框图,具体过程是相当
7、复杂的。启动一条指令由硬件把逻辑地址分成页号p和页内地址w该页在主存吗?访问存储器完成该指令取下一条指令保留现场有空白存储块吗?由辅存地址读入所需页面调整页表及其相应链表恢复现场选择一页置换掉调整页表及其相应链表该页修改过吗?把该页写回辅存图3.25请求页式存储管理中的地址重定位和缺页中断处理过程硬件软件YN引起缺页中断NYNY3.6.3页面置换算法所谓页面置换算法,就是采取什么办法淘汰掉内存中的某些页为必须进入内存的页面腾出空间的策略。如果置换算法不当,就有可能出现某些页刚被置
此文档下载收益归作者所有