Heim  >  Artikel  >  Web-Frontend  >  内存管理之页面调度与缺页计算_html/css_WEB-ITnose

内存管理之页面调度与缺页计算_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 12:05:511412Durchsuche

一、何为缺页?

  说白点:缺页定义为所有内存块最初都是空的,所以第一次用到的页面都产生一次缺页,也就是内存中不存在的待进入的页号话,就会产生缺页。明白了这个之后,对于缺页计算问题就好说了。

二、先进先出调度算法(FIFO)

  这种调度算法总是淘汰最新进入主存储器的那一页。这种调度算法很简单,按照装入主存储器的那些页的先后顺序排成页号队列,每当进入一个缺页时候,淘汰最早进入的那页。

  举个例子:例如依次要访问的页号为:0 1 2 3 2 1 3 2 5 2 3 6 2 1 4 2,现在只有三个主存可供使用如果采用FIFO调度,请模拟  调度过程,并算出缺页中断次数?

  0进入,出现缺页中断(1次)此时内存中的页号:0
  1进入,出现缺页中断(1次),此时内存中的页号:01
  2进入,出现缺页中断(1次)此时内存中的页号:012
  3进入,淘汰0,出现缺页中断(1次),3替换0的位置,此时内存中的页号:123
  2进入,没出现缺页中断情况,因为内存中已经存在页号2,内存中的页号还是:123
  1进入,内存中存在页号1,没有出现缺页中断,此时内存中的页号是:123
  3进入,同上,没有出现缺页中断,内存中的页号是:123
  2进入,同上,没有出现缺页中断,内存中的页号是:123
  5进入,这时候,对于312呆的时间最长的是:1,所以5替换1,出现缺页中断(1次),此时内存中的页号:235
  2进入,没有出现缺页中断,内存中的页号:235
  6进入,出现缺页中断(1次),淘汰的页面是2号,内存中的页号356
  2进入,出现缺页中断(1次),淘汰的页面好是3号,内存中的页号562
  1进入,出现缺页中断(1次),淘汰的页面号是5号,内存中的页号是621
  4进入,出现缺页中断(1次),淘汰的页面号是6号,内存中的页号是214
  2进入,没有出现缺页中断,内存中的页号是214

  所以,如果采用先进先出的调度算法,共出现缺页中断8次,其内存模拟情况如下表:


进入

时间

 

 

 

是否

缺页

不是

不是

不是

不是

不是

不是

不是


  *红色的数字,是最新进入内存的页号
  对于先进先出模拟过程,不难发现一下特点:
   1、第一次进入内存的,肯定出现缺页;
   2、没出现缺页的,连续的列是相同的;
   3、淘汰的页面是呆在内存中时间最长的;

三、最近最久未使用调度算法(LRU)

  最近最久未使用调度算法认为:最近经常被使用到的页和可能马上就要被访问,因此不能调出。相反,如果有过去一段时间里没有被访问过的页,在最近的将来也可能暂时不会被访问。所以需要装入新页时,应选择在最近一段时间里最久没有被使用过的页调出。

  仍然以上述为例子,采用LRU调度,
  首先0进入,缺页(1次),此时内存中的页号按照使用频率的顺序:0
  1进入,缺页(1次),此时内存中的页号按照使用频率的顺序:01
  2进入,缺页(1次),此时内存中的页号按照使用频率的顺序:012
  3进入,缺页(1次),最久未使用为0页号,被3替换,此时内存中的页号按照使用频率的顺序:123
  2进入,不缺页,此时内存中的页号按照使用频率的顺序:132
  1进入,不缺页,此时内存中的页号使用频率的顺序:321
  3进入,不缺页,此时内存中的页号使用频率的顺序:213
  2进入,不缺页,此时内存中的页号使用频率的顺序:132
  5进入,缺页(1次),最久未使用的页号是1号,淘汰掉,此时内存中的页号使用频率的顺序:325
  2进入,不缺页,此时内存中的页号使用频率的顺序:352
  3进入,不缺页,此时内存中的页号使用频率的顺序:523
  6进入,缺页(1次),此时内存中的页号使用频率的顺序:236
  2进入,不缺页,此时内存中的页号使用频率的顺序:362
  1进入,缺页(1次),最久未使用的页号为3,此时内存中的页号使用频率的顺序:621
  4进入,缺页(1次),最久未使用的页号为6,此时内存中的页号使用频率的顺序:214
  2进入,不缺页,此时内存中的页号使用频率的顺序:142

  所以,采用最近最久未使用的调度算法,其缺页次数:8次

  其在内存中的调度模拟如下表所示:

使用

频率

好久

没用

 

最近

使用

 

 

是否

缺页

不是

不是

不是

不是

不是

不是

不是

不是


四、小结

  多拿笔画画~~~


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn