Universidad Nacional

INDICE
Introducción................................................................................................................................... 2 Segunda oportunidad ..................................................................................................................... 3 El Algoritmo del Reloj ................................................................................................................... 4 Algoritmo wsclock ......................................................................................................................... 5 Algoritmo working set .................................................................................................................... 6 Algoritmo del envejecimiento ........................................................................................................ 7 Bibliografía........................................................................................ Error! Bookmark not defined.

1

Esta investigación muestra algunos de los distintos algoritmos de remplazo utilizados por el sistema operativo 2 . los algoritmos de reemplazo de páginas son usados para decidir qué páginas pueden ser sacadas de memoria cuando se necesita cargar una nueva y ya no hay espacio.Universidad Nacional Introducción En sistemas operativos que utilizan paginación para el manejo de memoria.

fija su bit de referencia a 1. el algoritmo siempre termina. autorizando su tiempo de carga como si recién hubiera llegado al procesador. que funciona bastante mejor que el FIFO. La página más antigua es A. se muestra en la figura 1. vemos las páginas de la A a la H.En la figura 1. se le da una segunda oportunidad. supongamos que todas las páginas de la figura 1. A se coloca al final de la lista. la página se saca de memoria. se vuelve a la página A. el sistema operativo traslada las páginas al final de la lista y pone su bit R a cero. En efecto. En este momento. La búsqueda de una página adecuada prosigue con B. En este caso cuando una página debe ser sacada se toma la primera en la cola. Una a una. en una lista enlazada ordenada según el tiempo de llegada a la memoria. Por contra. A se retira de la memoria. si todas las páginas tienen alguna referencia deviene en un simple FIFO. si R vale 1. y en vez de sacarla. Cada vez que la MMU(memory management unit) accede a una página. consulta el valor de un bit de referencia.Universidad Nacional Segunda oportunidad Es una pequeña modificación al algoritmo FIFO. la cual tiene R a cero. llamado de la segunda oportunidad. poniéndose a cero el bit R. 3 . De esta forma. Si el bit se encuentra sin fijar(en 99 ). La operación de este algoritmo. se saca de la memoria.0 (a) tienen R a 1.0 (a). Supongamos que ocurre un fallo de página. Para esto es necesario soporte para bit de referencia por hardware.0 . si A tiene el bit R a cero. Por lo tanto. En caso de estar fijado (en 001) se cambia el bit a 99 y se lo coloca al final de la obstrucción. Al final. Lo que hace el algoritmo de la segunda oportunidad es buscar una página antigua sin referencias.

y la manecilla avanza una posición. Si su bit R vale 0. se puede implementar con un array perfectamente. Es el algoritmo del reloj. se inspecciona la página a la que apunta la manecilla. 4 . Si R vale 1. se inserta la nueva página en su lugar en el reloj. simplemente se pone su bit de referencia a 1. Una manecilla apunta hacia la página más antigua. Los elementos no se mueven al final de la cola cuando son accedidos. como se muestra en la figura 1. con la forma de un reloj. De hecho. de forma que al llegar al último elemento de la lista. Este algoritmo sólo difiere del anterior en su implementación. pasa automáticamente al primero. Esto nos evita tener que hacer movimientos de punteros en el caso de implementarlo con una lista enlazada. Este proceso continúa hasta encontrar una página con R a cero. este bit se pone a 0 y la manecilla avanza a la página siguiente. ahorrando así memoria. Al ocurrir un fallo de página.1. que lo que hace es tener una lista circular. la página se retira de la memoria.Universidad Nacional El Algoritmo del Reloj Existe una variante de este algoritmo que sobre la misma idea presenta una mejora en la implementación.

Cuando se añade la primera página. se llama Por su sencillez de implementación y buen desempeño. 5 . basado en el algoritmo de reloj pero que también usa la información de conjunto de WSClock trabajo. se incorporan a la lista formando un anillo. igual que en el algoritmo de reloj. pero la manecilla se adelanta y el algoritmo continúa con la siguiente página. Cada Tiempo del último uso entrada contiene el campo del algoritmo de conjunto de trabajo básico. se usa en forma extensa en la práctica.Para evitar una conmutación de procesos.Universidad Nacional Algoritmo wsclock Un algoritmo mejorado. se calendariza la escritura a disco. esta se añade a la lista. A medida que se accede a páginas. En un principio la lista esta vacia. La estructura de datos que se necesita es una lista circular de marco de página.

este tipo de deducciones a menudo dirigen el accionar hacia políticas deadministración de memoria virtual en exceso conservadoras. podría surgir una situación dehiperpaginación.Debido a que. 6 . de otra forma. debido a las frecuentes solicitudes de páginas contenidas en memoria virtual. La decisión deañadir o no un nuevo proceso al conjunto de procesos activos se basa en el hecho de si existe suficienteespacio de almacenamiento principal como para contener todo el conjunto de trabajo del nuevo proceso. En el modelo del conjunto de trabajo se permite la ejecucion de un proceso si su trabajo se encuentra completamente en la memoria. Lamentablemente. lo cual limita en última instancia el númeroreal de procesos que pueden disponer de marcos para compartir el almacenamiento primario. Una política administrativa del almacenamiento virtual mediante conjuntos de trabajo intenta manteneren memoria principal todos los conjuntos de trabajo de cada uno de los procesos activos. Se ha afirmado que para ejecutar en forma eficiente un programa se debemantener en memoria principal su conjunto de trabajo.Universidad Nacional Algoritmo working set Es el conjunto de paginas que un proceso requiere en un intervalo de tiempo de su ejecucion. es imposible determinar el tamaño exacto del conjunto de trabajo deun proceso determinado. y El tiempo entre calculos del WS. La estrategia de WorkingSset es calcular para P el valor para cada vez que P complete segundos de uso de la CPU(tiempo virtual). y El tamaño de la pagina. Informalmente se refiere a la coleccion mas pequeña de sus paginas que deben residir en memoria real para asegurar algun nivel de eficencia aceptable. Se define WS(conjunto de trabajo) como el conjunto de paginas virtuales del proceso P que han sido accesados en los ultimos segundos de tiempo virtual de P. Un conjunto de trabajo es un conjunto de páginas a las que se hace referencia activamente en un proceso. El tamaño del WS de un proceso depende de: y La localidad de los accesos k haga el proceso a la memoria. en la situación inicial.

0. 10010000. con algunas modificaciones necesarias para tener en cuenta en qué momento fue usada frecuentemente una página. y no solamente cuántas En vez de sólo incrementar el contador de la página cuando es referenciada. De esta forma. 00100000. 1 y 0 en los últimos 6 ticks del reloj.Universidad Nacional Algoritmo del envejecimiento Este algoritmo es un descendiente del algoritmo "No usada frecuentemente". por un módico precio. se eliminará la que tenga el número más pequeño en su contador. 7 . Este algoritmo provee una buena aproximación al desempeño del algoritmo óptimo. 0. Por ejemplo. 01000000. el contador se verá así: 10000000. primero se desplaza a la derecha (se divide por 2) y después sí se suma 1. 01100100. 11001000. cuando se necesite eliminar una página de memoria. 1. si los bits de referencia de una página fueron 1.

Sign up to vote on this title
UsefulNot useful