已知进程的引用序列为 3、1、4、1、2、3、5、2、3、1、4、5、0、3、5、2、4、1。采用纯请求分页(开始运行时所有页还没有装入内存)的局部置换算法,如果分配给该进程的内存块数为4,请分别给出 FIFO、LRU 和二次机会置换算法时,缺页的次数和依次淘汰的页号。
时间: 2023-07-04 20:08:27 浏览: 174
采用纯请求分页的局部置换算法,当进程需要一个页时,如果该页不在内存中,则发生缺页中断,需要从磁盘中读入该页。而如果内存已满,就需要将一个页淘汰出去,以腾出空间给新页使用。以下给出三种置换算法的缺页次数和依次淘汰的页号:
假设分配给该进程的内存块数为4,初始时内存为空。
**FIFO算法**
FIFO算法按照页进入内存的先后顺序进行淘汰,即最早进入内存的页最先被淘汰。
缺页次数为:11次
依次淘汰的页号为:3 1 4 1 2 3 5 2 3 1 4
**LRU算法**
LRU算法选择最近最久未使用的页进行淘汰。
缺页次数为:9次
依次淘汰的页号为:3 1 4 2 5 2 3 1 4
**二次机会置换算法**
二次机会算法是基于FIFO算法的,它将每个页标记一个访问位,每次淘汰时检查该页的访问位,如果为1,则将其清零,并重新插入到队列末尾;如果为0,则淘汰该页。
缺页次数为:10次
依次淘汰的页号为:3 1 4 1 2 5 2 3 1 4
注:由于该算法需要维护每个页的访问位,因此需要使用一个辅助数组来记录每个页的情况。
阅读全文