lru icesi. so
TRANSCRIPT
LRURicardo ArcilaDiego NúñezRodrigo Osorio
LRU(Least Recently Used)
Se basa en la observación de las paginas que no se han utilizado con frecuencia en las ultimas instrucciones. Plantea que cuando ocurra un fallo de página, hay que descartar la pagina que no se haya utilizado durante la mayor longitud de tiempo.
La forma mas simple de implementar el algoritmo sería equipar el hardware con un contador de 64 bits, llamado C, el cual se incrementa de manera automática después de cada instrucción para cada pagina. Cuando ocurre un fallo de página, el sistema operativo examina todos los contadores en la tabla de paginas para encontrar el menor.
Algoritmo LRU mediante hardware
Simulación de LRU en software
Algoritmo NFU (Not Frequently Used), requiere un contador de sw asociado con cada página. En cada interrupción de reloj el sistema operativo explora todas las paginas y se agrega el bit R, que es 0 o 1 al contador. Su principal problema es que nunca olvida nada y se podría eliminar paginas útiles.
Envejecimiento (aging)
PaginaciónEn la forma más pura de
paginación, los procesos inician sin ninguna de sus páginas en la memoria.
Tan pronto como la CPU trata de obtener la primera instrucción, recibe un fallo de página
A esta estrategia se le conoce como paginación bajo demanda
Conjunto de Trabajodurante cualquier fase de
ejecución el proceso hace referencia sólo a una fracción relativamente pequeña de sus páginas
El conjunto de páginas que utiliza un proceso en un momento dado se conoce como su conjunto de trabajo (Denning, 1968a; Denning, 1980).
Conjunto de TrabajoSe dice que un programa que
produce fallos de página cada pocas instrucciones está sobrepaginando (thrashing) (Denning, 1968b)
El problema es que tener 20, 100 o incluso 1000 fallos de página cada vez que se carga un proceso es algo lento
Conjunto de TrabajoPor lo tanto, muchos sistemas de
paginación tratan de llevar la cuenta del conjunto de trabajo de cada proceso y se aseguran que esté en memoria antes de permitir que el proceso se ejecute.
Este método se conoce como modelo del conjunto de trabajo (Denning, 1970)
Conjunto de TrabajoAl proceso de cargar las páginas
antes de permitir que se ejecuten los procesos también se le conoce como prepaginación
En cualquier instante de tiempo t, existe un conjunto consistente de todas las páginas utilizadas por las k referencias a memoria más recientes. Este conjunto w(k, t), es el de trabajo
Conjunto de Trabajo
Conjunto de Trabajoes posible realizar una predicción
razonable en cuanto a qué páginas se necesitarán cuando el programa se reinicie, con base en su conjunto de trabajo la última vez que se detuvo
Conjunto de TrabajoUna aproximación de uso común
es desechar la idea de contar hacia atrás k referencias de memoria y usar en su defecto el tiempo de ejecución
para cada proceso sólo cuenta su propio tiempo de ejecución.
Conjunto de TrabajoLa cantidad de tiempo de la CPU
que ha utilizado en realidad un proceso desde que empezó se conoce comúnmente como su tiempo virtual actual.
Conjunto de trabajo
Algoritmo de reemplazo de páginas WSClockCarr Y Hennessey, 1981Facil implementación.Buen rendimiento
Algoritmo de reemplazo de páginas WSClockUtiliza: 1. Información del conjunto de
trabajo (Tiempo)2. Algoritmo de reloj (Bit R y M)
Algoritmo de reemplazo de páginas WSClock
Resumen Algoritmos de reemplazo de páginas