计算用LRU和FIFO算法计算“缺页率”。
http://www.docin.com/p-102712160.html
http://wenku.baidu.com/view/4f3e9cf1f61fb7360b4c65fb.html
在一个虚拟存储管理系统中,假如系统分配给一个作业的内存物理块数是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算法则是如有缺页,将最近最少用的置换出去