You are on page 1of 14

ALGORITMOS DE REEMPLAZO

ALANIA OSORIO, Laura RAMOS MORI, Anthony

INTRODUCCIN
En sistemas operativos se utilizan el cambio de pagina para el manejo de memoria, los algoritmos de reemplazo de pginas son usados para decidir qu pginas pueden ser sacadas de memoria cuando se necesita cargar una nueva y ya no hay espacios

Este algoritmo tiene como finalidad retirar la pgina que vaya a ser referenciada ms tarde, por ejemplo si hay una pgina A que ser usada dentro de 10000 instrucciones, y una pgina B que ser usada dentro de 2800 instrucciones, se debera eliminar de la memoria la pgina A. Como se puede deducir, para esto el sistema operativo debera ver en cunto tiempo ser usada cada pgina en memoria y elegir la que est ms distante. El problema de este mtodo es que necesita conocimiento del futuro, por lo que es imposible su implementacin. Es un algoritmo terico. Se utiliza a los efectos comparativos con los algoritmos factibles de ser implementados para ver cul se aproxima ms a ste.

LOS ALGORITMOS CLSICOS DE REEMPLAZO DE PAGINA SON

FIFO

OPTIMO

LRU

Lo mas usual es que el hardware proporcione un bit de referencia y uno de modificada (dirty bit) para cada pagina. Con esta ayuda, los algoritmos mas usuales son : FIFO con segunda oportunidad No Usada Recientemente Ni Usada Ni Modificada Recientemente otras aproximaciones LRU . . .

FIFO
(FIRST IN FIRST OUT).
En este mtodo el sistema operativo slo tiene que guardar en qu orden las pginas fueron cargadas, de modo que al necesitar hacer espacio pueda fcilmente elegir la primera pgina cargada.

ALGORITMO FIFO
Se reemplaza la primera pagina en entrar Implementacin muy sencilla. Presenta la anomala de Belady: para ciertos ejemplos concretos de cadenas de referencias a memoria es posible que al aumentar el numero de marcos aumente el numero de fallos de pagina.

ALGORITMO OPTIMO
Es el que produce menos fallos de pagina para cualquier cantidad de marcos. Se reemplaza la pagina que va a tardar mas tiempo en ser referenciada. No puede implementarse pues implicara conocer de antemano las paginas que va a referenciar el proceso. Aunque no puede implementarse se utiliza como referencia para los dems algoritmos.

ALGORITMO LRU
Reemplaza la pagina menos usada recientemente(Least Recently Used). Es como el optimo pero con la cadena de referencias invertida en el tiempo. Produce buenos resultados puesto que por el principio de localidad temporal, las paginas recientemente usadas es probable que sean referenciadas prximamente. Se adapta muy bien a la localidad del programa.

Dos posibles implementaciones :

Contadores.- Se asocia a cada pagina un contador que representa el instante en que fue referenciada, pudiendo determinar la que hace mas tiempo que no se referencia por el valor del contador.
Lista.- Cada pagina referenciada se coloca al final de una lista, la primera de la lista es la que hace mas tiempo que no se referencia Ninguna de las implementaciones es factible por la carga que supondra manejar los contadores (o la lista) con cada referencia a memoria.

APROXIMACIONES LRU
El algoritmo LRU produce unos resultados razonablemente buenos pero no puede implementarse. En los sistemas con paginacin bajo demanda el hardware tpicamente proporciona un bit de referencia y un bit de modificacin (dirty bit).

Con estas ayudas se suelen implementar algoritmos que se aproximan al LRU con la idea de adaptarse a la localidad del proceso.
Los mas usuales son los de segunda oportunidad, reloj, empleo de bits de referencia adicionales .

ALGORITMO AGING
Este algoritmo es un descendiente del algoritmo "No usada frecuentemente", con algunas modificaciones necesarias para tener en cuenta en qu momento fue usada frecuentemente una pgina, y no solamente cuntas veces fue. En vez de slo incrementar el contador de la pgina cuando es referenciada, primero se desplaza a la derecha (se divide entre 2) y despus s se suma 1. De esta forma, cuando se necesite eliminar una pgina de memoria, se eliminar la que tenga el nmero ms pequeo en su contador.

ALGORITMO CLOCK
Existe una mejora en el algoritmo de segunda oportunidad que presenta una mejora en la implementacin. Es el algoritmo del CLOCK, 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 cambia el 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.

ALGORTIMO SEGUNDA OPORTUNIDAD


Es bsicamente un FIFO en el que adems se tiene en cuenta el bit de referencia. Implementacin muy sencilla: cola circular con las paginas en la que se almacena tambin el bit de referencia. Cuando hay que reemplazar se mira el ndice que indica la pagina siguiente a reemplazar. Si el bit de referencia esta a 0 se reemplaza Si el bit de referencia esta a 1, se pone a 0 y se avanza el ndice a la siguiente.

USO DE BITS DE REFERENCIA ADICIONALES


El S.O. guarda un contador para cada pagina El S.O. peridicamente comprueba los bits de referencia de cada pagina, y lo guarda en su contador introducindolo por la izquierda y desplazando los otros bits a la derecha

La pagina con el valor mas pequeo del contador es una aproximacin a la menos recientemente usada
No es la menos recientemente usada porque los bits se comprueban a determinados intervalos de tiempo, no cada acceso a memoria

You might also like