假设系统采用先进先出(FIFO)页面置换算法,我们可以模拟这个引用串,并计算缺页和页面置换次数。
首先,列出页面号引用串:321032432104。
初始内存块为空。当页面被引用时,我们需要检查它是否已经在内存中:
- 3:缺页,分配到一块内存,发生缺页中断和页面置换各1次。
- 2:缺页,分配到另一块内存,发生缺页中断和页面置换各1次。
- 1:已在内存中,缺页中断0次,页面置换0次。
- 0:缺页,替换第一个内存块中的3,发生缺页中断和页面置换各1次。
- 3:缺页,替换第二个内存块中的2,发生缺页中断和页面置换各1次。
- 2:缺页,替换第三个内存块中的1,发生缺页中断和页面置换各1次。
- 4:缺页,替换第四个内存块中的0,发生缺页中断和页面置换各1次。
- 3:缺页,替换第三个内存块中的1,发生缺页中断和页面置换各1次。
- 2:缺页,替换第四个内存块中的0,发生缺页中断和页面置换各1次。
- 1:已在内存中,缺页中断0次,页面置换0次。
- 0:缺页,替换第一个内存块中的3,发生缺页中断和页面置换各1次。
- 4:缺页,替换第二个内存块中的2,发生缺页中断和页面置换各1次。
总共有12次页面引用。缺页中断次数为9次,页面置换次数也为9次。
缺页率 = 缺页中断次数 / 页面引用次数 = 9 / 12 = 0.75 或 75%
所以,在4块内存的情况下,根据给定的页面号引用串,缺页中断发生了9次((\frac{9}{12})),页面置换也发生了9次,缺页率为75%。