页面调度算法的计算过程(详解)

FIFO:先进先出算法——最先进来的页先被调出。

LRU:最近最久未使用算法——当发生缺页中断时,将该队首的页调出去。

OPT:最佳调度算法——调出的页应该是以后不再访问的页或距当前最长时间后再访问的页。

LFU:最近最不进常使用调度算法——这种算法是基于在过去一段时间里被访问次数多的页可能是经常需要用的页,所以应调出被访问次数少的页(基于访问次数)。

缺页中断次数是缺页时发出缺页中断的次数

缺页中断率=缺页中断次数/总的页面引用次数*100%

刚开始没好好听,看到这些算缺页中断率的就头疼,网上呢又说的含糊不清,所以我就在了解原理后整理了一下思路,最后发现还是很容易的,下面我举了些例子并说明了各个算法如何进行运作。

先进先出算法(FIFO):

答:进程运行时, 先将7,0,1三个页面装入内存。 以后, 当进程要访问页面2时, 将会产生缺页中断。此时OS根据先进先出算法,将最先进入的7淘汰;当进程要访问页面0时,不发生缺页中断;当进程要访问页面3时,此时在内存中的是2,0,1,目前最先进入的是0,所以将其替换;当进程要访问页面0时,此时在内存中的是2,3,1,目前最先进入的是1,所以将其替换;以此类推即可。

最近最久未使用算法(LRU):

答:进程运行时, 先将7,0,1三个页面装入内存。 以后, 当进程要访问页面2时, 将会产生缺页中断。此时OS根据最近最久未使用算法,将队首的页7调出去;当进程要访问页面0时,不发生缺页中断;当进程要访问页面3时,此时在内存中的是2,0,1, 将队首的页1调出去;当进程要访问页面0时,不发生缺页中断;当进程要访问页面4时,此时在内存中的是2,0,3, 将队首的页2调出去;以此类推即可(当M=3时,就将要调入页面的前M个页画出来,选择队首的页调出)。

最佳调度算法(OPT):

答:进程运行时, 先将7,0,1三个页面装入内存。 以后, 当进程要访问页面2时, 将会产生缺页中断。此时OS根据最佳置换算法, 将选择以后不再访问的页或距当前最长时间后再访问的页予以淘汰,向后看7,0,1都会被访问,但7是最晚被访问的(因为0,1在7出现之前都出现过),所以7被替换;当进程要访问页面0时,不发生缺页中断;当进程要访问页面3时,此时在内存中的是2,0,1,向后看2,0,1都会被访问,但1是最晚被访问的,所以1被替换; 当进程要访问页面0时,不发生缺页中断;当进程要访问页面4时,此时在内存中的是2,0,3,,向后看2,0,3都会被访问,但0是最晚被访问的,所以0被替换;以此类推即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值