在先进先出(FIFO)页面替换算法中,当发生缺页(页面不在物理内存中)时,操作系统会替换最早进入物理内存的页面。
初始情况下,进程获得了3个主存块,因此最多可以存储3个页面。
让我们逐步考察进程访问页面的次序:{1,2,3,4,1,2,5,1,2,3,4,5}。
1: 首次访问,缺页,加载到内存。状态:[1, _, _](下划线表示空块)。
2: 缺页,加载到内存。状态:[1, 2, _]。
3: 缺页,加载到内存。状态:[1, 2, 3]。
4: 缺页,替换页面1(最早进入的)。状态:[4, 2, 3]。
1: 缺页,替换页面2。状态:[4, 1, 3]。
2: 缺页,替换页面3。状态:[4, 1, 2]。
5: 缺页,替换页面4。状态:[5, 1, 2]。
1: 页面1已在内存中,无缺页。
2: 页面2已在内存中,无缺页。
3: 缺页,替换页面5。状态:[3, 1, 2]。
4: 缺页,替换页面3。状态:[4, 1, 2]。
5: 缺页,替换页面4。状态:[5, 1, 2]。
总共,有9次缺页中断。
因此,当采用先进先出调度算法时,发生缺页次数是9次。