access被淘汰了吗请求页式管理中的置换算法(FIFO、LRU、OPT),求缺页率例题
置换算法在内存中没有空闲页⾯时被调⽤,它的⽬的是选出⼀个被淘汰的页⾯。
如果内存中有⾜够的空闲页⾯存放所调⼊的页,则不必使⽤置换算法。把内存和外存统⼀管理的真正⽬的是把那些被访问概率⾮常⾼的页存放在内存中。因此,置换算法应该置换那些被访问概率最低的页,将它们移出内存。⽐较常⽤的置换算法有以下⼏种:
⼀、先进先出(First In First Out,FIFO)算法
FIFO算法总是选择在内存驻留时间最长的⼀页将其淘汰。Belady现象是指:采⽤ FIFO算法时,如果对—个进程未分配它所要求的全部页⾯,有时就会出现分配的页⾯数增多但缺页率反⽽提⾼的异常现象,原因在于它根本没有考虑程序执⾏的动态特征。
⼆、最近最久未使⽤(Least Recently Used,LRU)算法
该算法的基本思想是:当需要淘汰某⼀页时,选择离当前时间最近的⼀段时间内最久没有使⽤过的页先淘汰。该算法的主要出发点是,如果某页被访问了,则它可能马上还要被访问。或者反过来说,如果某页很长时间未被访问,则它在最近⼀段时间也不会被访问。
三、理想型淘汰算法(Optimal Replacement Algorithm,OPT)
该算法淘汰在访问串中将来再也不出现的或是在离当前最远的位置上出现的页。这样,淘汰掉该页将不会造成因需要访问该页⼜⽴即把它调⼊的现象。但是,这种算法⽆法实现,因为它要求必须预先知道每⼀个进程的访问串。
缺页率指的是访问页⾯失败次数除以进程页⾯访问总次数。访问页⾯失败次数即下题中除全空列以外的个数。
四、例题
(⼀)在页式虚拟存储管理的计算机系统中,作业在主存中分配到3块主存空间,作业执⾏时访问页的顺序为2,3,2,1,5,2,4,5,3,2,5,3,请问⽤OPT, FIFO 和LRU 替换算法时,它们的缺页中断率分别是多少。(要求图⽰出内存页⾯变化情况)
(⼆)在⼀个请求分页虚拟存储管理系统中,⼀个程序运⾏的页⾯⾛向是:1,2,3,1,4,5,1,2,1,4,5,3,4,5,对于分配给程序4个页框的情况,分别⽤FIFO和LRU算法,求出缺页中断次数,并给出缺页率。
(三)对于如下的页⾯访问序列:1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5。当内存块数量为3时,试问:使⽤FIFO、LRU置换算法产⽣的缺页中断是多少?写出依次产⽣缺页中断后应淘汰的页,并计算出个算法的缺页率?
1)使⽤FIFO算法时,缺页率:9/12×100%=75%
2)使⽤LRU算法时,缺页率:10/12×100%=83%
(四)在页式虚拟存储管理的计算机系统中,运⾏⼀个共有8页的作业,且作业在主存中分配到4块主存空间,作业执⾏时访问页的顺序为6,0,1,2,0,4,3,1,2,6,7,4,2,5,6,请问⽤FIFO和LRU替换算法时,它们的缺页中断率分别是多少。(要求图⽰出内存页⾯变化情况)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。