●在一个虚拟存储管理系统中,假如系统分配给一个作业的内存物理块数是3,并且此作业的页面使用顺序为2,3,2,1,5,2,4,5,3,2,5,2,若采用FIFO和LRU置换算法,其产生的缺页次数分别为 (5) 和 (6) 。
(5) A.6
B.7
C.8
D.9
(6) A.6
B.7
C.8
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。
更详细的解答:作业在3块内存空间中的缺页中断次数。FIFO置换算法有这样一个奇怪现象:内存空间块数越多,缺页中断率可能相反的越高(缺页中断次数越高)。
问题是2块和4块内存的情况。现在来看下4块的情况:
0 1 2 3 2 1 3 2 5 2 3 6 2 1 4 2
【解答】
刚开始内存并没有这个作业,所以发生缺页中断一次。作业的0号页进入内存。(1次缺页中断)
而页1又不在内存,又发生缺页中断一次。作业页1进入内存。(2次缺页中断)
页2不在内存,发生缺页中断。页2进入内存。 (3次缺页中断)
页3不在内存,发生缺页中断。页3进入内存。 (4次缺页中断)
接下来调入页2,页1,页3,页2。由于都在内存中,并不发生缺页中断。
页5不在内存,发生缺页中断。页5进入内存,页5置换页0。 (5次缺页中断)
接下来调入页2,页3。由于都在内存中,并不发生缺页中断。
页6不在内存,发生缺页中断。页6进入内存。页6置换页1。 (6次缺页中断)
页2在内存,不发生缺页中断。
页1不在内存(在发生第6次缺页中断时被置换了),发生缺页中断。
页1进入内存,页2被置换。 (7次缺页中断)
页4置换页3,页4进入内存。 (8次缺页中断)
现在调入页2,但页2在发生第7次缺页中断时被置换掉了。
现在页2进入内存,其置换页5。(因为这个时候是页5最先进入内存。)(9次缺页中断)
总结:行数3行代表内存物理块数是3然后从左到右依次看下去,每一列代表当前内存中的作业情况,缺页就表示当前内存中没有要从外面调入作业就叫缺页。。。