理论算法(最佳算法) ◆当要调入一页而必须淘汰一个旧页时,所淘汰 的页应该是以后不再访问的页或距现在最长时 间后再访问的页。这样的调度算法使缺页中断 率为最低。然而这样的算法是无法实现的因为 在程序运行中无法对以后要使用的页面作出精 确的断言。不过,这个理论上的算法可以用来 作为衡量各种具体算法的标准。这个算法是由 Belady提出来的,所以叫做 Belady算法,又 叫做最佳算法( Optimal)
理论算法(最佳算法) 当要调入一页而必须淘汰一个旧页时,所淘汰 的页应该是以后不再访问的页或距现在最长时 间后再访问的页。这样的调度算法使缺页中断 率为最低。然而这样的算法是无法实现的因为 在程序运行中无法对以后要使用的页面作出精 确的断言。不过,这个理论上的算法可以用来 作为衡量各种具体算法的标准。这个算法是由 Belady提出来的,所以叫做Belady算法,又 叫做最佳算法(Optimal)
1)随机页面替换算法 ●要淘汰的页面是由一个随机数产生程序 所产生的随机数来确定,选择一个不常使 用的页面会使系统性能较好,但这种调度 算法做不到这一点,虽很简单但效率却低, 般不采用
1)随机页面替换算法 要淘汰的页面是由一个随机数产生程序 所产生的随机数来确定,选择一个不常使 用的页面会使系统性能较好,但这种调度 算法做不到这一点,虽很简单但效率却低, 一般不采用
2)先进先出页面替换算法(FIFO ●先进先出调度算法是一种低开销的页面 替换算法,基于程序总是按线性顺序来 访问物理空间这一假设 ●这种算法总是淘汰最先调入主存的那 页,或者说在主存中驻留时间最长的那 页(常驻的除外)
2)先进先出页面替换算法(FIFO) 先进先出调度算法是一种低开销的页面 替换算法,基于程序总是按线性顺序来 访问物理空间这一假设。 这种算法总是淘汰最先调入主存的那一 页,或者说在主存中驻留时间最长的那 一页(常驻的除外)
实现技术 种实现方法是系统中设置一张具有m个元素的 页号表,它是由M个数: P[O],P[1 P[m-1] 所组成的一个数组,其中每个P(=0,1,m-1) 存储一个在主存中的页面的页号。假设用指针k 指示当前调入新页时应淘汰的那一页在页号表中 的位置,则淘汰的页号应是PKk]。每当调入一个 新页后,执行 P[k]:=新页的页号 k+1) mod m
实现技术 一种实现方法是系统中设置一张具有m个元素的 页号表,它是由M个数: P[0], P[1], …, P[m-1] 所组成的一个数组,其中每个P[i] (i =0,1,…m-1) 存储一个在主存中的页面的页号。假设用指针k 指示当前调入新页时应淘汰的那一页在页号表中 的位置,则淘汰的页号应是P[k]。每当调入一个 新页后,执行 P[k] := 新页的页号; k := (k+1)mod m;
另一个简单的实现算法 ●引入指针链成队列,只要 把进入主存的页面按时间 的先后次序链接,新进入的 页面从队尾入队,淘汰总是 从队列头进行
另一个简单的实现算法 引入指针链成队列,只要 把进入主存的页面按时间 的先后次序链接,新进入的 页面从队尾入队,淘汰总是 从队列头进行