计算缺页次数

      2007-7-4 0:22

●在一个虚拟存储管理系统中,假如系统分配给一个作业的内存物理块数是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然后从左到右依次看下去,每一列代表当前内存中的作业情况,缺页就表示当前内存中没有要从外面调入作业就叫缺页。。。

标签集:TAGS:
回复Comments() 点击Count()

回复Comments

{commenttime}{commentauthor}

{CommentUrl}
{commentcontent}