先进先出算法
1、策略
将内存中的页按装入内存真的先后顺序排列,淘汰时,选择最先进入内存的页
2、例题
一个进程在运行过程中依次访问的页号(也称进程的引用序列)是:0、2、3、1、4、1、2、3、5、2、3、1、4、5、0、3、6、9、8、3、6、7、3、6、9、8、7。假定分配给该进程4个块,按局部页面调度,采用FIFO算法时,如何计算缺页中断的次数?依次淘汰的页号是哪些?
每个访问页的正下方的列表示该页访问后的内存页的FIFO序列。
如果当前访问的页在内存中,则该页访问后,不影响原来内存中各页的顺序,其正下方的内容直接来自上一次访问页的FIFO序列;
如果当前访问的页不在内存中,则它是最新装人的,这时,将它加入其正下方的FIFO序列中,加人时,对应的序列中原来的各个页依次下移一行,
如果序列中原来的页数已经达到4个,则箭头方向的第一个页是最先装人内存的,将其淘汰并记录在最后一行的相应列的正下方,并把当前页加入FIFO序列末尾
上图中的最后一行给出了进程运行过程依次淘汰的页号: 0、2、3、1、4、5、2、3、1、4、5、0、3、6、9、8、7和3,共18次,另外,加上开始运行时装人的4个页,则共有22次缺页中断,其中18次缺页中断运行了置换算法
3、先进先出算法的不足
FIFO 算法的不足是可能会将经常访问的页淘汰。在很多进程中,最先进入内存的页,在之后的运行过程中,也可能被