LRU和FIFO算法计算“缺页中断O(∩_∩)O啊

LRU和FIFO算法计算“缺页中断O(∩_∩)O啊
2010-04-07 00:33

今天做完了软件设计师的操作系统部分,,,用了几个钟( ⊙ o ⊙ )啊!,有个问题还没有解决...   虚拟存储管理系统,置换算法产生的缺页次数...就是这题 啊,不过还是不很明白...

用LRU和FIFO算法计算“缺页中断O(∩_∩)O啊~(+﹏+)~狂晕

标签: 分类:我爱学习

最今为了考软件设计师,天天苦读奋斗,突然间在计算缺页中断时傻了眼,后来从其他的地方终于了解到了,其实知道了觉得很简单。纳闷到时为什么会傻眼呢,还自己在那考虑了很多时间。

计算用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。

更详细的解答:作业在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然后从左到右依次看下去,每一列代表当前内存中的作业情况,缺页就表示当前内存中没有要从外面调入作业就叫缺页

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章