首先,确定三个算法的共有属性:
1. 引用页面
2. 页框
接着,我们将各自算法的私有属性确定:
最佳置换算法:无
FIFO算法:一个确定置换页面的指针
LRU算法:一个进行算法模拟的栈
最后,我们可已经每个算法的基本流程进行归纳:
最佳置换算法:
随着进程的运行,每访问一个页面,我们先在页框中查找有没有这个页号,如果没有,就进行置换;如果没有就进行下一个页面。对于置换的算法,我们要查找将来要引用页框中也好的时间,找出最晚访问的页面来进行置换。
FIFO算法:
随着进程的运行,每访问一个页面,我们先在页框中查找有没有这个页号,如果没有,就进行置换;如果没有就进行下一个页面。对于置换算法,我们根据该算法的私有属性,指针的位置来进行置换。
LRU算法:
随着进程的运行,每访问一个页面,我们都要在栈内进行该页号的查找,有就将该页号移至栈顶,没有就将栈底的页号弹出,并将页框中该页号的位置让给新访问的页面号。然后将新访问的页面号压栈。
1