总结:这个三个页面置换算法的理论思路特别简单,就是我个人认为看的懂算法的中文名字加上稍加思考就可以掌握。(这三个算法的思路就是个纸老虎 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)
算法思路:第一步占满三个物理块
第二步通俗来将就是看谁“老”谁下一步“没用”就替换它。