Está en la página 1de 1

Reloj, Segunda oportunidad

Es una pequea modificacin al algoritmo FIFO, que funciona bastante


mejor que el FIFO. En este caso cuando una pgina debe ser sacada se toma
la primera en la cola, y en vez de sacarla, consulta el valor de un bit de
referencia. En caso de estar fijado (en 1) se cambia el bit a 0 y se lo coloca
al final de la obstruccin, autorizando su tiempo de carga como si recin
hubiera llegado al procesador. De esta forma, se le da una segunda
oportunidad. Si el bit se encuentra sin fijar(en 0), la pgina se saca de
memoria. Cada vez que la MMU accede a una pgina, fija su bit de
referencia a 1. Para esto es necesario soporte para bit de referencia por
hardware.
Existe una variante de este algoritmo que sobre la misma idea presenta una
mejora en la implementacin. Es el algoritmo del reloj, que lo que hace es
tener una lista circular, de forma que al llegar al ltimo elemento de la lista,
pasa automticamente al primero. Los elementos no se mueven al final de
la cola cuando son accedidos, simplemente se pone su bit de referencia a 1.
Esto nos evita tener que hacer movimientos de punteros en el caso de
implementarlo con una lista enlazada. De hecho, se puede implementar con
un array perfectamente, ahorrando as memoria.

Reloj mejorado
Existe una variante de este algoritmo que sobre la misma idea presenta una
mejora en la implementacin. Es el algoritmo del reloj, que lo que hace es
tener una lista circular, de forma que al llegar al ltimo elemento de la lista,
pasa automticamente al primero. Los elementos no se mueven al final de
la cola cuando son accedidos, simplemente se pone su bit de referencia a 1.
Esto nos evita tener que hacer movimientos de punteros en el caso de
implementarlo con una lista enlazada. De hecho, se puede implementar con
un array perfectamente, ahorrando as memoria.

También podría gustarte