Sunteți pe pagina 1din 7

Prepare un documento vertical y una presentacin para explicar los Algortimos de

Remocin de pginas siguientes:


ptimo, LRU, FIFO, Reloj, Segunda Oportunidad, NRU, Working Set, WS Clock,
Envejecimiento.
Para su explicacin debern presentar un grfico en el que para una cadena de
referencias dada se ilustre cmo trabaja el algoritmo, dado un tamao de bloques
de memoria principal.
Asimismo debern explicar en qu consiste y cmo trabaja
La anomala de Belady
La distancia de la cadena o cadena de distancias
Prediccin de la tasa de fallos

--ALGORITMOS DE REMOCIN DE PGINAS


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 marcos de pginas libres.

OBJETIVOS DE LOS ALGORITMOS DE REMOCIN DE PGINAS


Disminuir la razn de fallos de pginas seleccionando la mejor pgina vctima
para reemplazo.
Ideal: La mejor pgina vctima es una que no volver a ser referenciada nunca.
Proceso que la posee no generar fallo de pgina referencindola.

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.

LRU (LEAST RECENTLY USED, MENOS USADA RECIENTEMENTE)


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.

FIFO (FIRST IN FIRST OUT, PRIMERO EN ENTRAR PRIMERO EN SALIR)


En este mtodo, el sistema operativo slo tiene que guardar en orden las pginas
que 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.

ANOMALA DE BELADY
Uno de los problemas que presenta el algoritmo de FIFO 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,
actualizando 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 mejora en el algoritmo de segunda oportunidad que 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 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.

NRU (NOT RECENTLY USED, NO USADA RECIENTEMENTE)


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
Categora
Categora
Categora

0:
1:
2:
3:

no referenciada, no modificada
no referenciada, modificada
referenciada, no modificada
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.

WS
CLOCK
Un algoritmo mejorado, basado en el algoritmo de reloj pero que tambin utiliza la
informacin del conjunto de trabajo, se conoce como WSClock. Debido a su
simplicidad de implementacin y buen rendimiento, es muy utilizado en la
prctica.
La estructura de datos necesaria es una lista circular de marcos de pgina, como
en el algoritmo de reloj, mostrada en la figura (a). Al principio, esta lista est
vaca. Cuando se carga la primera pgina, se agrega a la lista. A medida que se
agregan ms pginas, pasan a la lista para formar un anillo.
Cada entrada en la tabla contiene el campo Tiempo de ltimo uso del algoritmo
bsico del conjunto de trabajo, as como el bit R y el bit M.
Al igual que con el algoritmo de reloj, en cada fallo de pgina se examina primero
la pgina a la que apunta la manecilla. Si el bit R es 1, la pgina se ha utilizado
durante el ciclo actual, por lo que no es candidata ideal para la eliminacin.
Despus el bit R se establece en 0, la manecilla avanza a la
siguiente pgina y se repite el algoritmo para esa pgina (b).
Ahora veamos que ocurre si la pgina a la que apunta la manecilla tiene R = 0,
como se muestra en (c). Si la edad es mayor que y la pgina est limpia,
significa que no se encuentra en el conjunto de trabajo y existe una copia vlida
en el disco.
En este caso la nueva pgina se coloca en el marco de pgina ocupado (d).

Por otro lado, si la pgina est sucia (modificada) no se puede reclamar de


inmediato, ya que no hay una copia vlida presente en el disco. Para evitar una
escritura en disco la pgina se planifica en disco para su reemplazo, la manecilla
avanza y el algoritmo contina con la siguiente pgina. Despus de todo, podra
haber una pgina antigua y limpia ms all de la lnea que
se pueda utilizar de inmediato.
Qu ocurre si la manecilla llega otra vez a su punto inicial? Hay dos casos a
considerar:
1. Hay pginas fuera del conjunto de trabajo pero estn sucias y planificadas para
su escritura en disco.
2. No hay ninguna pgina fuera del conjunto de trabajo.

En el primer caso, la manecilla slo sigue movindose, buscando una pgina


limpia. Como se han planificado una o ms escrituras, en algn momento se
completar alguna escritura y su pgina se marcar como limpia. La primera
pgina limpia que se encuentre se desaloja.
En el segundo caso, todas las pginas estn en el conjunto de trabajo, de otra
manera se hubiera planificado por lo menos una escritura. Sin informacin
adicional, lo ms simple por hacer es reclamar cualquier pgina limpia y usarla.
La ubicacin de una pgina limpia podra rastrearse durante el barrido. Si no
existen pginas limpias, entonces se selecciona la pgina actual como la vctima y
se escribe de vuelta al disco.

ENVEJECIMIENTO
Desciende 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 consigue una buena aproximacin al algoritmo ptimo, por un
mdico precio.

ALGORITMOS DE PILA
Se llaman algoritmos de pila aquellos cuya cadena de referencia de pginas que
estn en memoria para un numero m de marcos de memoria, es subconjunto de
m + 1, es decir, en usando m + 1 marcos tenemos las misma pginas que con m
ms una adicional, considerando un arreglo M con tantas posiciones como
pginas tiene el proceso.
CADENA DE DISTANCIAS
La cadena de distancias lleva el conteo de la cantidad de veces que se ha
accedido a pginas en cada una de las posibles distancias, considerando que no
esta presente, por lo tanto su distancia es Infinita

La cadena de distancias permite apreciar claramente la cantidad de fallos de pgina que habrn con una
determinada cadena de referencias usando una cantidad de marcos de memoria. Utilizando la siguiente
frmula se puede obtener el vector F, que contiene la cantidad de fallos de pgina con las condiciones
dadas.

S-ar putea să vă placă și