Gestión de memoria virtual

 

Primero en entrar primero en salir(FIFO)

Al cargar una pagina en memoria, se toma nota de en que momento fue cargada y cuando sea necesario reemplazar una página, se elige la que haya sido cargada hace más tiempo, como ventaja en su implementación es que puede ser tan simple como una lista ligada circular, cada elemento que va recibiendo se agrega al ultimo elemento de la lista y se empuja el apuntador para convertirlo en la cabeza, la desventaja al implementarlo es que no toma en cuanta las la historia de las ultimas solicitudes por lol que puede causar un bajo rendimiento, todas las paginas tienen la misma probabilidad de ser reemplazadas sin importar su frecuencia de uso, además es vulnerable a la anomalía de Belady.

Reemplazo de página optimo (OPT, MIN)

Bajo este algoritmo se elige como pagina victima a aquella que no vaya a ser utilizada por un tiempo máximo o nunca más,  como ventaja tenemos que ofrece una cuota mínima calculando el número de fallos que se presentan como desventaja hay que aclara que este algoritmo es puramente teórico ya que requerirá conocimiento a priori de las necesidades a futuro del sistema lo que resulta impracticable ya que un recurso como la memoria al ser tan dinámico no se puede proveer esta información.

Menos recientemente utilizado (LRU)

Este algoritmo busca acercarse a OPT prediciendo cuando será la próxima ves en que se emplee cuada una de las páginas que tiene en memoria basado en la historia reciente de su ejecución, cuando necesita elegir una pagina victima el LRU elige la pagina que no ha sido empleada hace mas tiempo, como ventaja se presenta que en rendimiento y uso de recursos se encentra en el punto medio entre OPT y FIFO, como desventaja tenemos que para su implementación se requiere apoyo de hardware sensiblemente más complejo que el FIFO.

Aproximaciones a LRU

Bit de referencia

Consiste en que todas las entradas de la tabla de paginas tengan un bit adicional, que se denomina referencia  o acceso, al iniciar la ejecución todos los bits de referencia están apagados y cada ves que se referencie un marco su bit de referencia asciende, el sistema operativo invoca periódicamente a que se apaguen nuevamente todos los bits de referencia, encaso de presentarse un fallo de pagina se elige por FIFO sobre el conjunto de marcos que no hayan sido referenciados En el periodo actual.

Columna de referencia

Consiste en agregar varios bits de referencia, conformándose como una columna, cada vez que transcurre el periodo determinado el valor de la columna de referencia es desplazado a la derecha, descartando el bit mas bajo, y cuando el sistema tenga que elegir una nueva página victima lo hará de entre el conjunto que tenga un número más bajo.

Como ventajas de estas aproximaciones es que requieren una búsqueda mas sencilla al recorrer una serie de bits para la determinación de la pagina a reemplazar, sin embargo, siguen requiriendo de apoyo en el hardware para su implementación, pero resultan más sencillos que LRU.

 

Segunda oportunidad ( o RELOJ)

Este algoritmo también trabaja basado en un bit de referencia y un recorrido tipo FIFO, en este cada que se da un evento se enciende el bit sin embardo hay otros que se apagan, es decir, se mantienen un apuntador a la próxima victima y cuando el sistema requiera efectuar un reemplazo este verificara si el marco que apunta tiene bit de referencia encendido o apagado, en cado de estar apagado el marco es seleccionado como víctima, pero en caso de estar encendido, se de la una segunda oportunidad apagando el bit de referencia y el apuntador de victima potencial avanza una posición y vuelve a intentarlo. En el peor de los casos el algoritmo de segunda oportunidad degenera en FIFO.

 

Segunda oportunidad mejorada

El bit de referencia puede ampliarse con un bit de modificación, dándonos las siguientes combinaciones en orden de preferencia;

(0, 0) No ha sido utilizado ni modificado recientemente. Candidato ideal para su reemplazo.

(0,1) No ha sido utilizada recientemente, pero está modificada. No es tan Buena opción, porque es necesario escribir La página a disco antes de reemplazarla, pero puede ser elegida.

(1,0) El marco está limpio, pero fue empleado recientemente, por lo que probablemente se vuelva a requerir pronto.


(1,1) Empleada recientemente y sucia—sería necesario escribir la página a disco antes de reemplazar, y probablemente vuelva a ser requerida pronto. Hay que evitar reemplazarla.

 

Algoritmos con  manejo de buffers

En  estos, el sistema no espera a enfrentarse con la necesidad de reemplazar un marco, si no que  proactivamente busque tener siempre espacio vacío en memoria, en decir conforme la carga lo permita, el sistema operativo busca las paginas sucias mas proclives a ser llevadas a disco y va actualizando el disco donde las marca nuevamente como limpias, de este modo cuando tenga que traer de vuelta una página, siempre habrá espacio donde ubicarla sin tener que esperar a que se transfiera una para liberarla.

Comentarios

Entradas populares