Belady现象

Belady现象:


采用FIFO算法时,如果对—个进程未分配它所要求的全部页面,有时就会出现分配的页面数增多但缺页率反而提高的异常现象。Belady现象可形式化地描述为:一个进程户要访问M个页,OS分配舻个内存页面给进程P;对一个访问序列S,发生缺页次数为PE(占,N)。当N增大时,PE(S,N)时而增大时而减小。Belady现象的原因是FIFO算法的置换特征与进程访问内存的动态特征是矛盾的,即被置换的页面并不是进程不会访问的。
      
先进先出算法(FIFO)。选择装入最早的页面置换。可以通过链表来表示各页的装入时间先后。FIFO的性能较差,因为较早调入的页往往是经常被访问的页,这些页在FIFO算法下被反复调入和调出,并且有Belady现象。

 

维基百科给出的示例:

 

Page Requests:    3     2     1     0     3     2     4     3     2     1     0     4

Newest Page:       3     2     1     0     3     2     4     4     4     1     0     0

                                    3     2     1     0     3     2     2     2     4     1     1

Oldest Page:                      3     2     1     0     3     3     3     2     4     4

                              ×    ×    ×     ×    ×     ×     ×                 ×    ×   

 

Page Requests:    3     2     1     0     3     2     4     3     2     1     0     4

Newest Page:       3     2     1     0     0     0     4     3     2     1     0     4

                                    3     2     1     1     1     0     4     3     2     1     0

                                           3     2     2     2     1     0     4     3     2     1

Newest Page:                            3     3     3     2     1     0     4     3     2

                               ×    ×    ×     ×                  ×     ×     ×     ×     ×    ×

 

 页框从3个增加到4个 但缺页从9个增加到10个

posted on 2012-09-26 10:35  as_  阅读(4180)  评论(0编辑  收藏  举报

导航