Está en la página 1de 16

ALGORITMO DE

ENVEJECIMIENTO (AGING)
Desciende del algoritmo "No usada frecuentemente“(NFU), con
algunas modificaciones necesarias para tener en cuenta en qué
momento fue usada frecuentemente una página, y no solamente
cuántas veces fue.

En vez de sólo incrementar el contador de la página cuando es


referenciada, primero se desplaza a la derecha (se divide entre
2) y después sí se suma 1. Por ejemplo, si los bits de referencia
de una página fueron 1, 0, 0, 1, 1 y 0 en los últimos 6 ticks del
reloj, el contador se verá así: 10000000, 01000000, 00100000,
10010000, 11001000, 01100100.
• De esta forma, cuando se necesite eliminar una página de
memoria, se eliminará la que tenga el número más
pequeño en su contador.
• Este algoritmo consigue una buena aproximación al
algoritmo óptimo, por un módico precio.
• En ves de solo incrementar el contador de la pagina
cuando es referenciada
• PRIMERO: los contadores se desplazan a la derecha un bit
• SEGUNDO: Se suma el valor del bit R al bit de extremo
izquierdo
DIFERENCIAS DEL ALGORITMO DE “AGING” CON EL
LRU

• Registra sólo un bit por intervalo de tiempo ) no sabe en qué instante de un


intervalo de tiempo se accedió por última vez a una página (¿al principio o al final?)
• Los contadores tienen un número finito de bits (8). Sólo tenemos referencias de los
últimos 8 ticks
• Este algoritmo provee una buena aproximación al desempeño del algoritmo óptimo,
por un módico precio. En vez de sólo incrementar el contador de la página cuando es
referenciada De esta forma, cuando se necesite eliminar una página de memoria, se
eliminará la que tenga el número más pequeño en su contador.
TICKS DEL RELOJ.
paginas

Bits de
referencia
Contadores de referencia
DE ESTA FORMA CUANDO SE NECESITA ELIMINAR UNA PAGINA DE MEMORIA, SE ELIMINARA LA QUE TENGA
EL NUMERO MAS PEQUEÑO EN SU CONTADOR (128, 64, 160, 80, 40)

EL MAS ACTUAL ES 160 PORQUE ES DE POCA FRECUENCIA PERO DE USO MAS ACTUAL.
40 ES QUE INDICAN UNA ALTA FRECUENCIA DE USO PERO ESTOS NO SON ACTUALES.
• Nota: Este algoritmo desciende del NFU, mejorándolo al realizar
un corrimiento de 1 bit a la derecha antes de aumentar el
contador de uso en 1 bit a la izquierda en su forma binaria. Esto
provoca que las páginas cuyas referencias son más actuales tengan
más importancia que aquellas que fueron referidas hace tiempo,
asegurando que páginas usadas recientemente pero no
frecuentemente tengan mayor prioridad frente a páginas usadas
hace tiempo pero con mayor referencia.
CONCLUSIÓN:

• Para saber que pagina eliminar se ase un versus entre las paginas
del 1 al 5.
• reflejando que la página 5 tiene menor importancia que la página
1,2,3 y 4. pues esta última es mas reciente, por lo que la página 5
eventualmente debe ser reemplazada.
• El siguiente código de Python simula el algoritmo de
envejecimiento. Contadores Vi con la inicialización con 0 y
actualizado como se describe teóricamente utilizando
operadores de desplazamiento aritmético (Arithmetic
shift)
• Tenga en cuenta que el envejecimiento difiere de LRU en el sentido de
que el envejecimiento solo puede hacer un seguimiento de las
referencias en los intervalos de tiempo 16/32 (dependiendo del
tamaño del bit del procesador). En consecuencia, dos páginas pueden
tener referencias de contadores de 00000000, aunque se hizo
referencia a una página hace 9 intervalos y la otra hace 1000
intervalos. En términos generales, conocer el uso en los últimos 16
intervalos es suficiente para tomar una buena decisión en cuanto a
qué página intercambiar. Por lo tanto, el envejecimiento puede ofrecer
un rendimiento casi óptimo a un precio moderado.