第五章虚拟存储器

一。页面置换算法
1.最佳置换算法(OPT)(理想置换算法):
从主存中移出永远不再需要的页面;如无这样的页面存在,则选择最长时间不需要访问的页面。于所选择的被淘汰页面将是以后永不使用的,或者是在最长时间内不再被访问的页面,这样可以保证获得最低的缺页率。
2.先进先出置换算法(FIFO):
是最简单的页面置换算法。这种算法的基本思想是:当需要淘汰一个页面时,总是选择驻留主存时间最长的页面进行淘汰,即先进入主存的页面先淘汰。其理由是:最早调入主存的页面不再被使用的可能性最大。
3.最近最久未使用(LRU)算法:
这种算法的基本思想是:利用局部性原理,根据一个作业在执行过程中过去的页面访问历史来推测未来的行为。它认为过去一段时间里不曾被访问过的页面,在最近的将来可能也不会再被访问。所以,这种算法的实质是:当需要淘汰一个页面时,总是选择在最近一段时间内最久不用的页面予以淘汰。
4. 时钟(CLOCK)置换算法
LRU算法的性能接近于OPT,但是实现起来比较困难,且开销大;FIFO算法实现简单,但性能差。所以操作系统的设计者尝试了很多算法,试图用比较小的开销接近LRU的性能,这类算法都是CLOCK算法的变体。
二、虚拟存储器的基本概念
1.所谓虚拟存储器,
是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统,其逻辑容量由内存容量和外存容量之和决定,其运行速度接近内存,成本接近外存。
虚拟存储器的实现方法
2. 在虚拟存储器中,允许将一个作业分多次调入内存,其建立在离散分配的存储管理方式上。
  ① 请求分页系统,在分页系统的基础上,增加了请求调页功能和页面置换功能所形成的页式虚拟存储系统,其允许只装入少量页面的程序(数据),便启动运行,以后,再通过调页功能及页面置换功能,陆续地把要运行的页面调入内存,同时把暂时不用的页面换出到外存,置换是以页面为单位。其需要必要的硬件和软件支持。硬件有请求分页的页表机制(它是在纯分页的页表机制上增加若干项而形成的,作为请求分页的数据结构)、缺页中断机构(每当用户程序要访问的页面尚未调入内存时,便产生一缺页中断,请求OS将所缺的页调入内存)、地址变换机构(在纯分页的基础上发展形成)。软件有用于实现调页的软件和实现页面置换的软件。
  ② 请求分段系统,在分段系统的基础上,增加了请求调段功能和分段置换功能所形成的段式虚拟存储系统。其允许只装入少量段的用户程序和数据,即可启动运行,以后再通过调段功能和段的置换功能将咱不运行的段调出,同时调入即将运行的段,置换是以段为单位。其需要必要的硬件和软件支持,硬件有请求分段的段表机制(它是在纯分页的段表机制上增加若干项而形成的,作为请求分段的数据结构)、缺段中断机构(每当用户程序要访问的段尚未调入内存时,便产生一缺段中断,请求OS将所缺的段调入内存)、地址变换机构(在纯分段的基础上发展形成)。软件有用于实现调页的软件和实现页面置换的软件。
3.Belady现象:出现分配的页面数增多,缺页率反而提高的异常现象。
描述:一个进程P要访问M个页,OS分配N个内存页面给进程P;对一个访问序列S,发生缺页次数为PE(S,N)。当N增大时,PE(S, N)时而增大,时而减小。
Belady现象的原因:FIFO算法的置换特征与进程访问内存的动态特征矛盾,即被置换的页面并不是进程不会访问的。
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_42132577/article/details/84900570