fifo算法_页面置换算法学习总结

  • Post author:
  • Post category:其他


近期,学习了操作系统页面置换算法,为了巩固所学知识,主要用先进先出(FIFO)页面置换算法和最近最久未使用(LRU)置换算法进行一个复习。



1.FIFO页面置换算法

此算法是淘汰最先进入内存的页面,选择在内存中驻留最久的页面予以淘汰,而替换此时需要调用的页面。

实现原理:需把一个进程已调入内存的页面按先后顺序链接成一个队列,设置一个指针(替换指针),将指针指向最久调入的页面,若在此队列中已存在,则不进行替换;否则将替换指针所指向的页面出队,新调用的页面入队。

参考实验所做的代码:

#define MAXSIZE	20

04d82bc79f5594d4af15bb65130b7645.png

(由于太懒,就用书上的图吧(#^.^#))

最开始队列为空,所以7,0,1顺序入队,在进程第一次访问页面2时,由于7页面最先调入内存,故被换出;当在第一次访问页面3时,将最久未被使用的0号页面换出,由此类推,当换入最后一个1时,共进行了12次页面置换。


2.LRU页面置换算法: