操作系统作业有一题不怎么会,当时没有认真听讲,老师又说期末考试的题目来源于作业,这下我开始慌了,于是就各种查资料,按照网上的讲解 就有了这个博客。
FIFO和LRU
1,FIFO 先进先出
思想: 置换最先调入内存的页面,即置换在内存中驻留时间最久的页面。按照进入内存的先后次序排列成队列, 从队尾 进入,从队首删除。但是该算法会淘汰经常访问的页面,不适应进程实际运行的规律,目前已经很 少使用。
2,LRU 最近最久未使用
思想:置换最近一段时间以来最长时间未访问过的页面。根据程序局部性原理,刚被访问的页面,可能马上又要被 访问;而较长时间内没有被访问的页面,可能最近不会被访问。
LRU算法普偏地适用于各种类型的程序,但是系统要时时刻刻对各页的访问历史情况加以记录和更新,开销太 大,因此LRU算法必须要有硬件的支持。
下面就作业中的一题进行例子讲解
题目:对于请求分页系统,假设有下列的页面引用序列 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 假设分配4个物理页,试分别计算采用FIFO,LRU页面置换算法的缺页中断率。
由于数据太多 我就手写的,看不懂的可以给我留言,,,,那个如果我计算错了 欢迎指正谢谢~
更正 到考试时才发现我理解错了 附上正解
1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
页面1 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6
页面2 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3
页面3 1,2,3,4,2,1,5,6,6,1,2,3,7,6,3,3,1,2
页面4 1,1,3,4,2,1,5,5,6,1,2,2,7,6,6,6,1
1,1,1,1,0,0,1,1,0,0,0,1,1,1,0,0,1,0,0,0
缺页中断率:10/20×100%=50%