Vous êtes sur la page 1sur 4

lgoritmos de reemplazo de pginas

Saltar a: navegacin, bsqueda En sistemas operativos que utilizan paginacin 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

ndice

1 ptimo 2 Primera en entrar, primera en salir (FIFO, First In, First Out) 3 Segunda oportunidad 4 Reloj 5 No usada recientemente (Not Recently Used, NRU) 6 Menos usada recientemente (Least Recently Used, LRU) 7 Ejemplos (Aging)

ptimo
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.

Primera en entrar, primera en salir (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. Se usa una cola, al cargar una pgina nueva se ingresa en el ltimo lugar. Aunque las colas FIFO son simples e intuitivas, no se comportan de manera aceptable en la aplicacin prctica, por lo que es raro su uso en su forma simple. Uno de los problemas que presentan es la llamada Anomala FIFO o Anomala de Belady. Belady encontr ejemplos en los que un sistema con un nmero de marcos de pginas igual a tres tena menos fallos de pginas que un sistema con cuatro marcos de pginas. El problema consiste en que podemos quitar de memoria una pgina de memoria muy usada, slo porque es la ms antigua.

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.

Reloj
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.

No usada recientemente (Not Recently Used, NRU)


Este algoritmo favorece a las pginas que fueron usadas recientemente. Funciona de la siguiente manera: cuando una pgina es referenciada, fija el bit de referencia para esa pgina. Similarmente, cuando una pgina es modificada, fija su bit de modificacin. Usualmente estas operaciones son realizadas por el hardware, aunque puede hacerse tambin por software. En un tiempo fijo, el sistema operativo pone en 0 los bits de referencia de todas las pginas, de modo que las pginas con su bit de referencia en 1 son las que fueron referenciadas dentro del ltimo intervalo de reloj. Cuando una pgina debe ser reemplazada, el sistema operativo divide las pginas en cuatro categoras:

Categora 0: no referenciada, no modificada Categora 1: no referenciada, modificada Categora 2: referenciada, no modificada Categora 3: referenciada, modificada

Las mejores pginas para cambiar son las que se encuentran en la categora 0, mientras que las peores son las de la categora 3. Se desaloja al azar una pgina de la categora ms baja que no est vaca. Este algoritmo se basa en la suposicin de que es mejor desalojar una pgina modificada a la que no se ha hecho referencia en al menos un tic de reloj, en vez de una pgina limpia que se est usando mucho.

Menos usada recientemente (Least Recently Used, LRU)


Este algoritmo difiere del de 'No usada recientemente' en el hecho de que aquel slo se fija en el intervalo de tiempo desde que se pusieron en 0 los bits de referencia de las pginas, mientras que el algoritmo de 'Menos usada recientemente' intenta proveer un comportamiento casi ptimo mediante la observacin de las pginas que menos fueron usadas recientemente. Este tipo de pginas, estadsticamente son las que tienen menor probabilidad de ser usadas nuevamente.

Aunque este algoritmo provee un buen comportamiento en teora, es caro de implementar, en cuanto a recursos consumidos. Hay varias implementaciones que intentan mantener bajo el costo y lograr un rendimiento considerable. Un mtodo consiste en tener una lista enlazada y ordenada de todas las pginas en memoria. En el final de la lista est la pgina menos usada recientemente, y al principio la ms usada recientemente. El costo alto de este mtodo es porque cada vez que se referencia una pgina debe ser movida en la lista, algo que consume mucho tiempo. Otra forma, que requiere soporte de hardware, consiste en tener un contador que es incrementado en cada instruccin del CPU. Cada vez que una pgina es accedida, gana el nmero del contador en ese momento. Cuando una pgina debe ser retirada de memoria, simplemente hay que buscar cul es la que tiene el menor nmero, que es la que fue usada hace ms tiempo. En el presente no existen contadores tan grandes para permitir esto. Debido al alto costo del LRU, se proponen algoritmos similares, pero que permiten implementaciones menos costosas, como los que siguen.

Ejemplos (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. Por ejemplo, si los bits de referencia de una pgina 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 pgina de memoria, se eliminar la que tenga el nmero ms pequeo en su contador. Este algoritmo provee una buena aproximacin al desempeo del algoritmo ptimo, por un mdico precio.

Link esta de bajar pero ah esta algo

http://es.scribd.com/doc/43779993/85/Algoritmo-de-reemplazo-de-paginas-de-la-segundaoportunidad

http://www.buenastareas.com/ensayos/Algoritmo-De-Reemplazo-De-PaginasDe/541710.html http://wwwdi.ujaen.es/~lina/TemasSO/MEMORIAVIRTUAL/4ReemplazodePaginas.htm

http://wwwdi.ujaen.es/~lina/TemasSO/MEMORIAVIRTUAL/4ReemplazodePaginas.htm