关于缺页率,终于弄明白了 下载本文

内容发布更新时间 : 2024/5/21 4:04:00星期一 下面是文章的全部内容请认真阅读。

计算用LRU和FIFO算法计算“缺页率”。

在一个虚拟存储管理系统中,假如系统分配给一个作业的内存物理块数是3,并且此作业的页面使用顺序为2,3,2,1,5,2,4,5,3,2,5,2,若采用FIFO和LRU置换算法,其产生的缺页次数分别为 (5) 和 (6) 。 (5) A.6 6) A.6 B.7 B.7 C.8 C.8 D.9 D.9

【解析】本题主要考查虚拟内存的页面调度算法。题目中当采用FIFO时,其页面调度过程如下:

2 3 2 1 5 2 4 5 3 2 5 2 ――――――――――――――

2 2 2 2 5 5 5 5 3 3 3 3 3 3 3 3 2 2 2 2 2 5 5 1 1 1 4 4 4 4 4 2

可知缺页次数为9。同样若采用LRU算法,可计算其缺页次数为7。

【解答】

FIFO:(按顺序置换)

1.刚开始内存并没有这个作业,所以发生缺页中断一次。作业的2号页进入内存。(1次缺页中断)

2.而页3又不在内存,又发生缺页中断一次。作业页1进入内存。(2次缺页中断)

3.页2在内存,不发生缺页中断。

4.页1不在内存,发生缺页中断(内存中为2、3、1)。 (3次缺页中断) 5.页5不在内存,发生缺页中断,页5进入内存,页2出 (内存中为3、1、5)。 (4次缺页中断)

6. 接下来调入页2,由于不在内存中(已被置换出来),发生缺页中断。 (内存中为1、5、2)(5次缺页中断)

7. 接下来调入页4,由于不在内存中,发生缺页中断。 (内存中为5、2、4)(6次缺页中断) 8.页5在内存,不发生缺页中断

9. 接下来调入页3,由于不在内存中,发生缺页中断。 (内存中为2、4、3)(7次缺页中断) 10. 页2在内存,不发生缺页中断

11. 接下来调入页5,由于不在内存中,发生缺页中断。 (内存中为4、3、5)(8次缺页中断)

12. 接下来调入页2,由于不在内存中,发生缺页中断。 (内存中为3、5、2)(9次缺页中断) 缺页率:9/12

LRU:(最近最少用的置换出去)

1.刚开始内存并没有这个作业,所以发生缺页中断一次。作业的2号页进入内存。(1次缺页中断)

2.而页3又不在内存,又发生缺页中断一次。作业页1进入内存。(2次缺页中断)

3.页2在内存,不发生缺页中断。

4.页1不在内存,发生缺页中断(内存中为2、3、1)。 (3次缺页中断) 5.页5不在内存,发生缺页中断,页5进入内存,又因为页3是最近最少用的,故置换出去 (内存中为2、1、5)。 (4次缺页中断) 6. 接下来调入页2,在内存中,不发生缺页中断。 (把2放在后面,内存中为1、5、2、)

7. 接下来调入页4,由于不在内存中,发生缺页中断,又因为页1是最近最少用的,故置换出去 (内存中为5、2、4)(5次缺页中断) 8.页5在内存,不发生缺页中断(把5放在后面,内存中为1、2、5) 9. 接下来调入页3,由于不在内存中,发生缺页中断。 (内存中为2、5、3)(6次缺页中断)

10. 页2在内存,不发生缺页中断(把2放在后面,内存中为1、5、2) 11. 接下来调入页5,由于在内存中,不发生缺页中断。 (把5放在后面,内存中为1、2、5)(7次缺页中断)

12. 接下来调入页2,在内存中,不发生缺页中断(把2放在后面,内存中为1、5、2)。 缺页率:7/12

总结:行数3行代表内存物理块数是3然后从左到右依次看下去,每一列代表当前内存中的作业情况,缺页就表示当前内存中没有要从外面调入作业就叫缺页。FIFO算法是如有缺页,将最先进入内存的置换出去 LRU算法则是如有缺页,将最近最少用的置换出去