操作系统53.ppt
《操作系统53.ppt》由会员分享,可在线阅读,更多相关《操作系统53.ppt(49页珍藏版)》请在课桌文档上搜索。
1、1,第十三讲 页面替换策略目的与要求:了解各种页面替换策略及实用的综合策略。重点与难点:固定驻留集算法和SWS等实用动态驻留集算法。,2,5.3.3 页面替换策略,虚存的作用:解决主存空间不足 让更多的进程并发运行,提高系统的吞吐率,由页故障引发:Page Out/Page In,必须防止系统发生抖动(控制页故障频度),3,页面替换策略中基本概念 驻留集(工作集):进程的合法页集合 访问串:进程访问虚空间的地址踪迹。,举例:某进程依次依次访问如下地址,0100,0432,0101,0612,0102,0103,页式虚存管理以页为基本单位,只需页号即可。设页面大小为100,上述访问串可简化为1,
2、4,1,6,1,1,,4,页面替换策略分成两类:驻留集大小固定的替换策略 驻留集大小可变的替换策略,设驻留集大小为m,s(t)为t时刻的驻留集,r(t)为t时刻访问的页号。t取0,1,t,指访存指令执行时刻。,5,驻留集与paging in/out的关系:进程刚创建时,驻留集为空。即s(t)=空。若t+1时刻访问的页在s(t)中时,访问之。即若r(t+1)s(t),则s(t+1)=s(t)。若t+1时刻访问的页不在s(t)中时,且驻留 集大小小于m,则paging in。即若 r(t+1)!s(t),且|s(t)|m,则 s(t+1)=s(t)+r(t+1)。若t+1时刻访问的页不在s(t)中
3、时,且驻留 集大小等于m,则先paging out页y,再 paging in r(t+1)页。即s(t+1)=s(t)-y+r(t+1)。,一、驻留集大小固定的替换策略,6,(一)FIFO替换算法(替换最早进入的页),举例:驻留集大小为3,访问串为 7,0,1,2,0,3,0,4,2,3,0,3,2.,O O O O O O O O O O,7,FIFO方法的特点:实现方便。不需要额外硬件。效果不好,有Belady奇异。,Belady奇异:指替换策略不满足随着驻留集的增大,页故障数一定减少的规律。,8,先进先出置换算法例,假定系统为某进程分配了3个物理块,页面访问序列为:1、2、3、4、1、
4、2、5、1、2、3、4、5,开始时3个物理块均为空闲,采用先进先出置换算法时的页面置换情况如下所示:,9,采用先进先出算法的页面置换情况,从上表中可以看出,共发生了9次缺页中断。其缺页率为9/1275%。,5,缺,4,3,5,4,缺,2,3,5,3,2,1,缺,2,1,5,5,缺,2,1,4,2,缺,3,1,4,1,缺,3,2,4,4,缺,3,2,1,3,缺,2,1,2,缺,1,1,块3,块2,块1,走向,10,为进程分配4个物理块,从上表中可以看出,共发生了10次缺页中断。其缺页率为10/1283.3%。,3,3,3,4,4,4,4,块4,缺,2,5,4,5,缺,2,1,4,4,缺,2,1,
5、5,3,缺,2,1,5,2,缺,3,1,5,1,缺,3,2,5,5,2,1,缺,3,2,1,4,缺,3,2,1,3,缺,2,1,2,缺,1,1,块3,块2,块1,走向,11,(二)OPT(Optimal replacement),举例:驻留集大小为3,访问串为 7,0,1,2,0,3,0,4,2,3,0,3,2.,O O O O O O O,淘汰下次访问距当前最远的那些页中序号最小的页。,12,最佳置换算法例,假定系统为某进程分配了3个物理块,页面访问序列为:1、2、3、4、1、2、5、1、2、3、4、5,开始时3个物理块均为空闲,采用最佳置换算法时的页面置换情况如下所示:,13,采用最佳置换
6、算法的页面置换情况,从上表中可以看出,共发生了7次缺页,其缺页率为7/1258.3%。,5,缺,5,4,3,4,缺,5,2,3,3,2,1,缺,5,2,1,5,2,1,缺,4,2,1,4,缺,3,2,1,3,缺,2,1,2,缺,1,1,块3,块2,块1,走向,14,OPT方法特点:最优的固定驻留集大小替换策略。不可实现。,OPT策略对任意一个访问串的控制均有最小的时空积。(进程所占空间与时间的乘积)由于需要预先得知整个访问串的序,故不能用于实践。仅作为一种标准,用以测量其他可行策略的性能。,15,(三)LRU(Least Recently Used),淘汰上次使用距当前最远的页。,举例:驻留集
7、大小为3,访问串为 7,0,1,2,0,3,0,4,2,3,0,3,2.,O O O O O O O O O,16,LRU算法例,假定系统为某进程分配了3个物理块,页面访问序列为:1、2、3、4、1、2、5、1、2、3、4、5,开始时3个物理块均为空闲,采用LRU置换算法时的页面置换情况如下所示:,17,采用LRU算法的页面置换情况,从上表中可以看出,共发生了10次缺页,其缺页率为10/1283.3%。,缺,5,4,3,5,缺,2,4,3,4,缺,2,1,3,3,2,1,缺,2,1,5,5,缺,2,1,4,2,缺,3,1,4,1,缺,3,2,4,4,缺,3,2,1,3,缺,2,1,2,缺,1,
8、1,块3,块2,块1,走向,18,为进程分配4个物理块,从上表中可以看出,共发生了8次缺页中断。其缺页率为8/1266.7%。,3,3,3,4,4,块4,缺,4,2,5,5,缺,4,2,1,4,缺,5,2,1,3,2,1,缺,5,2,1,5,2,1,缺,3,2,1,4,缺,3,2,1,3,缺,2,1,2,缺,1,1,块3,块2,块1,走向,19,LRU策略是一种栈算法。,满足:S(m,t)属于 S(m+1,t)的替换算法被称为栈算法。(m/m+1为驻留集大小)。LRU策略中,当驻留集大小为m时,S(m,t)中保持着最近使用过的m个页帧;当驻留集大小为m+1时,S(m+1,t)中保持着最近使用过
9、的m+1个页帧。故S(m,t)属于 S(m+1,t),LRU策略是栈算法。,20,LRU策略的特点:要硬件配合,实现费用高,但效果适中。实现方法1:给每个页帧设一个计数器,每访问一页,对应页帧计数清0,其余页帧计数加1,淘汰计数最大的页帧。,栈算法没有Belady奇异。设nm,对于栈算法有S(m,t)属于 S(n,t),任取r(t),若r(t)!S(n,t),则r(t)!S(m,t)。因此,驻留集为n时出现的页故障一定会出现在驻留集为m时。LRU没有Belady奇异。,21,LRU算法的实现,LRU算法实现时需要较多的硬件支持,以记录进程中各页面自上次访问以来有多长时间未被访问。下面介绍几种实
10、现方法。计数器法链表法,22,计数器法,为每个页面配置一个计数器,其初值为0。当进程访问某页时,将计数器的最高位置1,定时器每隔一定时间将计数器右移1位,则数值最小的页是最近最久未使用的页面。,23,计数器法(续),最近最久未使用的页是?,7 0 0 0 0 0 1 1 1,24,链表法,用一个单链表保存当前进程所访问的各页面号,刚使用过的页面放表尾,则表头一定是最近最久未使用的页面。其实现思想为:当分配给进程的物理块未用完时,则将进程装入内存的页面按先后顺序构成一个链表当进程访问的页面在内存时,将页面从链表中移出放到表尾当进程访问的页面不在内存时,则发生缺页中断,将表头页面置换,25,链表法
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作系统 53
链接地址:https://www.desk33.com/p-250599.html