最佳 ,先进先出,最近最久未使用置换算法

总结:这个三个页面置换算法的理论思路特别简单,就是我个人认为看的懂算法的中文名字加上稍加思考就可以掌握。(这三个算法的思路就是个纸老虎 hxd们冲冲冲)

一 最佳置换算法

最佳置换算法其所选择的被淘汰页面将是以后永不使用的,或是在最长时间内不再被访问的。

例1 假设系统为某进程分配了三个物理块,并考虑以下的页面号引用串,求缺页中断次数。

(KK)7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1

注:竖着一个括号为一个物理块

(7) (7) (7) (2) (2) (2) (2)     (2)(7)

(空) (0) (0) (0)(0) (4)(0) (0)(0)

(空) (空) (1) (1) (3) (3)(3)(1)(1)

缺页中断次数:6次

算法思路:第一步 当竖着的物理块空着时直接页面装入内存,第三列到第四列时三个物理块已被三个页面装满时。

第二步 利用最佳置换算法的来将7 换为2 因为拿(KK)处的页面号引用串来判断,当(7)(0)(1)占在三个物理块时,由于下次使用(7)的位置靠后,所以下一个拿(7)替换。

二 先进先出页面置换算法

例 7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1

(7) (7) (7) (2) (2) (2) (4) (4)(4)(0)  (1)  (1)  (1)

(空) (0) (0) (0)(3) (3)(3) (2)(2) (3)      (3)    (0)   (0)

(空) (空) (1) (1) (1) (0)(0)(0)(3) (2)      (2)   (2)     (7)

缺页中断次数:12次

算法思路:第一步先占满三个物理块。

第二步占满后选择在页内存中驻留时间最久的页面淘汰。

三 最近最久未使用和最少使用置换算法

        7,0,1,2,0,3,0,4,2,3,0,3,2,1,2,0,1,7,0,1

(7) (7) (7) (2) (2) (4) (4) (4)(0)(1)  (1)    (1)   

(空) (0) (0) (0)(0) (0)(0) (3)(3) (3)      (0)    (0)   

(空) (空) (1) (1)(3) (3)(2)(2)(2) (2)     (2)   (7)    

算法思路:第一步占满三个物理块

                第二步通俗来将就是看谁“老”谁下一步“没用”就替换它。

你可能感兴趣的:(算法)