实现提示:
1.最近没有使用页面淘汰算法NUR
(1)原理简述:
所谓“最近未使用”首先是要对“近”作一个界定,比如CLEAR_PERIOD=50,便是在CPU最近的50次进程页面处理工作中,找出这50次都没有处理到的页面;如果
⑴ 这样的页面只有一个,就将其换出,放入需处理的新页面;
⑵ 有不只一个这样的页面,在这些页面中任取一个换出(可以是下标最小的,或者下标最大的,都随便),放入需处理的页面;
⑶ 没有一个这样的页面,随意换出一个页面(可以是下标最小的,或者下标最大的,都随便)。
算法特点:有一个循环周期,每到达这个周期,所有页面存放是否被CPU处理信息的属性均被置于初始态(没有被访问)。
(2)图表描述:
还用前面的例子,某进程在硬盘上被划为5个页面,用1、2、3、4、5表示,而处理机处理它们的顺序为:
1、4、2、5、3、3、2、4、2、5
而内存可以控制的页面数为3(AP=3),CLEAR_PERIOD取5;循环周期内,如果所有内存页面均被CPU处理或有多个页面未被CPU处理,取页码最小的页面换出。
2.理想型淘汰算法OPT
(1)原理简述:
前提还是在分配的内存页面占满的情况下。所谓的最佳置换法是一种理想状况下的算法,它要求先遍历所有的CPU待处理的进程页面序列(实际上由于待处理的页面有时取决于先前处理的页面,所有很多情况下不可能得到完整的待处理页面序列。在这个层面上,才说该算法是理想的。),在这些页面中,如果有已经在内存当中,而CPU不再处理的,就将其换出;如果页面在内存中,并且CPU待处理,就取从当前位置算起