domingo, 28 de noviembre de 2010

4.4 Algoritmos de sustitución de páginas

Cuando ocurre una falla de pagina, el SO tiene que escoger la pagina que está fallando para sacarla de la memoria y así puede entrar la nueva página. La nueva página solo sobreescribe la que está siendo desalojada.

El algoritmo de sustitución de páginas óptimo

Se debe eliminar la pagina que contenga el rotulo más alto. Si una página no se va a si no hasta después de 8 millones de instrucciones y otra pagina no se usara si no hasta de 6 millones de instrucciones, el desalojo de la primera postergara la falla de pagina que la traerá de nuevo a la memoria lo más lejos hacia el futuro que es posible.

El algoritmo de sustitución de páginas no usadas recientemente

Los bits R y M pueden servir para construir un algoritmo de paginación sencillo.

Cuando se inicia un proceso, el SO pone en 0 los bits de todas sus pagina. Periódicamente (ej. en cada interrupción de reloj), se apaga el bit R, a fin de distinguir las paginas a las que no se ha hecho referencia recientemente de las que si se han leído.

Cuando ocurre una falla de página, el SO examina todas las páginas y las divide en cuatro categorías con base a los valores actuales de sus bits R y M:

Clase 0: no referida, no modificada

Clase 1: no referida, modificada

Clase 2: referida, no modificada

Clase 3: referida, modificada

El algoritmo de sustitución de páginas de primera que entra, primera que sale (FIFO)

El SO mantiene una lista de todas las paginas que están en la memoria, siendo la pagina que está a la cabeza de la lista más vieja, y la del final, las mas reciente.

Cuando hay una falla de página, se elimina la página que está a la cabeza de la lista, y se agrega la nueva página al final.

El algoritmo de sustitución de páginas de segunda oportunidad

Lo que realiza el algoritmo de segunda oportunidad es buscar una página vieja a la que no se haya hecho referencia en el intervalo de reloj anterior. Si se ha hecho referencia todas las páginas, este algoritmo pasa a ser FIFO puro.

El algoritmo de sustitución de páginas por reloj

Cuando ocurre una falla de página, se analiza la página a la que apunta la manecilla. Si un bit R es 0, se desaloja la página, y se inserta la nueva página en el reloj en su lugar, y la manecilla avanza una posición. Pero si R es 1, se pone en 0 y la manecilla se avanza a la siguiente pagina. Este proceso se repita hasta encontrar una página con R = 0.

El algoritmo de sustitución de páginas menos recientemente usadas (LRU)

Este algoritmo sugiere: cuando ocurra una falla de página, se desalojara la pagina que haya estado más tiempo sin usarse.

Simulación de LRU en software

El algoritmo NFU (no utiliza frecuentemente), el cual requiere un contador de software asociado a cada página y que inicialmente vale 0. NFU puede simular LRU de forma satisfactoria. Esta modificación tiene dos partes: primera todos los contadores se desplazan a la derecha un bit antes de sumarles el bit R, segunda, el bit R se suma de la extrema izquierda a la extrema derecha.

1 comentario:

  1. sugerencia: por favor sean más graficos y usar conceptos mas concretos y claros. Esta muy incompleto. Demostrar con ejemplos cada concepto si es posible.

    ResponderEliminar