Está en la página 1de 3

ALGORITMO DE RELOJ EN LA MEMORIA VIRTUAL

¿QUE ES?
El algoritmo de reloj en la gestión de memoria virtual es un método de
reemplazo de páginas que utiliza un enfoque basado en el tiempo de acceso a
las páginas. Este algoritmo utiliza una estructura de datos, comúnmente
conocida como "círculo de reloj" o simplemente "reloj", que consiste en un
puntero que recorre las páginas en memoria principal.
Cada página en memoria tiene asociado un bit adicional llamado "bit de
referencia" o "bit de acceso". Cuando una página es accedida, se establece su
bit de referencia. El puntero del reloj avanza constantemente, y cuando se
necesita liberar espacio en memoria, se examinan las páginas apuntadas por el
puntero. Si el bit de referencia de una página está activado, indicando que ha
sido accedida recientemente, se desactiva ese bit y se pasa al siguiente. Si el
bit de referencia está desactivado, se considera que esa página es candidata
para ser reemplazada.
Este proceso de evaluación y posible reemplazo continúa hasta que se
encuentra una página sin el bit de referencia activado. De esta manera, las
páginas que no han sido accedidas recientemente son más propensas a ser
seleccionadas para el reemplazo, siguiendo la lógica de que son menos
probables de ser utilizadas nuevamente en el corto plazo.
El algoritmo de reloj es una implementación simple pero efectiva para gestionar
el reemplazo de páginas en la memoria virtual, permitiendo optimizar el
rendimiento del sistema al mantener en memoria principal las páginas más
relevantes en función de su reciente actividad.

¿COMO FUNCIONA?
El algoritmo de reloj en la gestión de la memoria virtual es un método eficiente
para el reemplazo de páginas. Su funcionamiento se puede entender en los
siguientes pasos:
 Inicialización
 Puntero del reloj
 Acceso a una página
 Reemplazo de página
 Repetición del proceso

1. Inicialización:
 Cada página en la memoria principal tiene asociado un bit de referencia
o bit de reloj. Este bit se inicializa a 0 para todas las páginas.
 Se utiliza un puntero para recorrer las páginas en un orden circular. El
puntero apunta a una página específica en un momento dado.

MONTUFAR STEVEN
2. Acceso a una Página:
 Cuando un proceso accede a una página en la memoria, el bit de
referencia de esa página se establece en 1. Esto indica que la página ha
sido utilizada recientemente.

3. Reemplazo de Página:
 Cuando es necesario reemplazar una página debido a un fallo de página
o para liberar espacio, se examina la página apuntada por el puntero del
reloj.
 Si el bit de referencia de esa página es 1, se desactiva el bit (se coloca
en 0), indicando que la página ha sido considerada y utilizada
recientemente. Luego, el puntero se mueve al siguiente marco de
página.
 Si el bit de referencia es 0, esto indica que la página no ha sido utilizada
recientemente y es seleccionada para el reemplazo.

4. Repetición del Proceso:


 Este proceso se repite cada vez que se necesita reemplazar una
página.
 El puntero avanza de manera circular, considerando sucesivamente
cada página en la memoria principal.
 La repetición de este proceso permite que el algoritmo adapte
dinámicamente sus decisiones de reemplazo según los patrones de
acceso a las páginas.

EJEMPLO

Supongamos que tenemos:

 Memoria principal con 3 marcos de página: A, B, C.


 Bit de referencia (o bit de reloj) asociado a cada página: Inicialmente,
todos los bits están en 0.
 Puntero del reloj apunta a A (inicialmente).

Secuencia de eventos:

Acceso a página A:
 Estado de la memoria: (A*, B, C) (*indicando el puntero del reloj)
 Bit de referencia de A se establece en 1.

Acceso a página B:
 Estado de la memoria: (A, B*, C)
 Bit de referencia de B se establece en 1.

MONTUFAR STEVEN
Acceso a página C:
 Estado de la memoria: (A, B, C*)
 Bit de referencia de C se establece en 1.

Acceso a página A:
 Estado de la memoria: (A*, B, C)
 Bit de referencia de A se mantiene en 1.

Acceso a página B:
 Estado de la memoria: (A, B*, C)
 Bit de referencia de B se mantiene en 1.

Reemplazo de Páginas:

 Ahora, imaginemos que necesitamos reemplazar una página. El


puntero del reloj avanza y examina la página A.
 Como el bit de referencia de A es 1, se desactiva (se coloca en 0) y
el puntero avanza al siguiente marco.
 Estado de la memoria: (A, B*, C)
 Ahora, supongamos que necesitamos reemplazar otra página. El
puntero del reloj avanza y examina la página B.
 Como el bit de referencia de B es 1, se desactiva y el puntero avanza
al siguiente marco.
 Estado de la memoria: (A, B, C*)

Continuación del Proceso:


 El Proceso de acceso y reemplazo continúa, avanzando el puntero
del reloj y ajustando los bits de referencia según sea necesario.

MONTUFAR STEVEN

También podría gustarte