LRU Icesi. SO

20
LRU Ricardo Arcila Diego Núñez Rodrigo Osorio

Transcript of LRU Icesi. SO

Page 1: LRU Icesi. SO

LRURicardo ArcilaDiego NúñezRodrigo Osorio

Page 2: LRU Icesi. SO

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.

Page 3: LRU Icesi. SO

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.

Page 4: LRU Icesi. SO

Algoritmo LRU mediante hardware

Page 5: LRU Icesi. SO

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.

Page 6: LRU Icesi. SO

Envejecimiento (aging)

Page 7: LRU Icesi. SO

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

Page 8: LRU Icesi. SO

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

Page 9: LRU Icesi. SO

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

Page 10: LRU Icesi. SO

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)

Page 11: LRU Icesi. SO

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

Page 12: LRU Icesi. SO

Conjunto de Trabajo

Page 13: LRU Icesi. SO

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

Page 14: LRU Icesi. SO

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.

Page 15: LRU Icesi. SO

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.

Page 16: LRU Icesi. SO

Conjunto de trabajo

Page 17: LRU Icesi. SO

Algoritmo de reemplazo de páginas WSClockCarr Y Hennessey, 1981Facil implementación.Buen rendimiento

Page 18: LRU Icesi. SO

Algoritmo de reemplazo de páginas WSClockUtiliza: 1. Información del conjunto de

trabajo (Tiempo)2. Algoritmo de reloj (Bit R y M)

Page 19: LRU Icesi. SO

Algoritmo de reemplazo de páginas WSClock

Page 20: LRU Icesi. SO

Resumen Algoritmos de reemplazo de páginas