先进先出算法
简单的分页替换算法
先进先出算法是最简单的分页替换算法,是指每次有新的分页需要调入时,会选择调入内存时间最久的分页换出。它简单,容易实现,但这种绝对的公平方式容易导致效率的降低。
定义
先进先出(First In First Out,FIFO)算法的核心是更换最早进入内存的页面。先进先出是任何人都能直观想到的办法,因为它是人类的天性。
最简单的分页替换算法就是先进先出算法,当每次有新的分页需要调入时,会选择调入内存时间最久的分页换出。有两种实现的方法:第一种是记录每个分页被调入到页框的时间,当每次需要换出分页时,会找到调入时间最早的一页,也就是在主存储器中存在最久的分页。另外一种方式就是利用FIFO队列来实现,当要进行分页替换时,就把队列最前端的分页换出,再把要调入的分页放到队列的末端。
实现机制
使用链表将所有在内存的页面按照进入时间的早晚链接起来,然后每次置换链表头上的页面就行了。新加进来的页面则挂在链表的末端。
特点
优点
简单,且容易实现。
缺点
这种绝对的公平方式容易导致效率的降低。例如,如果最先加载进来的页面是经常被访问的页面,这样做很可能造成常被访问的页面替换到磁盘上,导致很快就需要再次发生缺页中断,从而降低效率。
参考资料
最新修订时间:2022-08-25 12:10
目录
概述
定义
实现机制
参考资料