Algoritmos de Remoción de Páginas
Algoritmos de Remoción de Páginas
Algoritmos de Remoción de Páginas
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
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.
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).
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.
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: