现有一请求分页的虚拟存储器,内存最多容纳4个页面,对于下面的引用串:1,2,3,4,1,5,6,1,4,2,3,4,5,6,采用FIFO页面替换算法,会产生多少次缺页中断?
时间: 2023-08-31 08:31:44 浏览: 55
### 回答1:
总共有15次页面引用。初始时内存为空,所以前4次引用必定会产生缺页中断。
1. 引用页面1,产生缺页中断,将页面1加入内存(1)
2. 引用页面2,产生缺页中断,将页面2加入内存(1,2)
3. 引用页面3,产生缺页中断,将页面3加入内存(1,2,3)
4. 引用页面4,产生缺页中断,将页面4加入内存(1,2,3,4)
5. 引用页面1,页面1已在内存中(1,2,3,4)
6. 引用页面5,产生缺页中断,将页面5加入内存,此时内存中页面为(2,3,4,5),页面1被替换出去了。
7. 引用页面6,产生缺页中断,将页面6加入内存,此时内存中页面为(3,4,5,6),页面2被替换出去了。
8. 引用页面1,页面1已在内存中(3,4,5,6)
9. 引用页面4,页面4已在内存中(3,4,5,6)
10. 引用页面2,产生缺页中断,将页面2加入内存,此时内存中页面为(4,5,6,2),页面3被替换出去了。
11. 引用页面3,产生缺页中断,将页面3加入内存,此时内存中页面为(5,6,2,3),页面4被替换出去了。
12. 引用页面4,页面4已在内存中(5,6,2,3)
13. 引用页面5,页面5已在内存中(5,6,2,3)
14. 引用页面6,页面6已在内存中(5,6,2,3)
15. 引用结束。
因此,一共产生6次缺页中断。
### 回答2:
根据FIFO(先进先出)页面替换算法,当内存满时,最先进入的页面会被替换出去。给定引用串为1,2,3,4,1,5,6,1,4,2,3,4,5,6,假设初始时内存中没有任何页面,按照FIFO算法进行页面替换,具体的缺页中断次数如下:
引用1,页面1缺失,缺页中断次数为1;
引用2,页面2缺失,缺页中断次数为2;
引用3,页面3缺失,缺页中断次数为3;
引用4,页面4缺失,缺页中断次数为4;
引用1,页面1已经在内存中,不产生缺页中断;
引用5,页面5缺失,缺页中断次数为5;
引用6,页面6缺失,缺页中断次数为6;
引用1,页面1已经在内存中,不产生缺页中断;
引用4,页面4已经在内存中,不产生缺页中断;
引用2,页面2缺失,缺页中断次数为7;
引用3,页面3缺失,缺页中断次数为8;
引用4,页面4已经在内存中,不产生缺页中断;
引用5,页面5缺失,缺页中断次数为9;
引用6,页面6已经在内存中,不产生缺页中断。
因此,通过FIFO页面替换算法,对于给定的引用串,会产生9次缺页中断。