当前位置:婀娜女性网>美好生活>心理>

clock算法和lru算法区别

心理 阅读(1.24W)
clock算法和lru算法区别

Clock算法

Clock又叫第二次机会算法,通过一个visit数组来实现第二次访问,利用循环队列相应的知识,在FIFO的基础上,在开辟一个与之对应的数组,其索引必须相呼应,两者具体关系如下:

a. 页码刚被调入,设置其页码对应的visit为1

b. 访问过一次,则将其visit设置为0

c. 页码被替换,对应的visit也要更新为1。

总之,将visit与队列实现同步操作即可。

FIFO算法系统开销较小,但可能会发生Belady现象。因此,这种的办法就是使用clock算法,在每一次页面访问的时候,他不必动态地去调整该页面在链表中的顺序,而仅仅是做一个标记,然后等到发生缺页中断时,再把它移动到链表末尾。对于内存当中那些未被访问的页面,clock和LRU算法表现一样好而对于那些曾经被访问过的页面,他不能像LRU算法那样,准确记录他们的位置。