Memoria Virtual
Ofrece a los procesos mayor espacio en memoria de con el que se cuenta físicamente, el sistema emplea espacio en almacenamiento secundario "típicamente, disco duro", mediante un esquema de intercambio (swap) guardando y trayendo páginas enteras. Es importante apuntar que la memoria virtual es gestionada de forma automática y transparente por el sistema operativo. No se hablaría de memoria virtual, por ejemplo, si un proceso pide explícitamente intercambiar determinadas páginas.
Primero en entrar, primero en salir
El algoritmo de más simple y de obvia implementación es el FIFO: al cargar una página en memoria, se toma nota de en qué momento fue cargada, y cuando sea necesario reemplazar una página, se elige la que haya sido cargada hace más tiempo.
Ventaja: la simplicidad, tanto para programarlo como para comprenderlo.
Desventaja: No toma en cuenta la historia de las últimas solicitudes, por lo que puede causar un bajo rendimiento.
Remplazo de páginas óptimo
Elegir como página víctima a aquella página que no vaya a ser utilizada por un tiempo máximo (o nunca más).
Ventaja: Su principal utilidad reside en que ofrece una cota mínima: calculando el número de fallos que se presentan al seguir OPT, es posible ver qué tan cercano resulta otro algoritmo respecto al caso óptimo.
Desventaja: Requiere conocimiento a priori de las necesidades a futuro del sistema.
Más frecuentemente utilizada (MFU)/Menos frecuentemente utilizada (LFU)
Se basan en mantener un contador, tal como lo hace LRU, pero en vez de medir el tiempo, miden la cantidad de referencias que se han hecho a cada página.
Ventaja: En MFU si una página fue empleada muchas veces, probablemente vuelva a ser empleada muchas veces más. En LFU una página que ha sido empleada pocas veces es probablemente una página recién cargada, y va a ser empleada en el futuro cercano.
Desventaja: Son tan caros de implementar como LRU, y su rendimiento respecto a OPT no es tan cercana, por lo cual casi no son empleados.
Segunda oportunidad (o reloj)
Trabaja basado en un bit de referencia y un recorrido tipo FIFO.
Ventaja: Da una segunda oportunidad al bit que se muestre como "encendido" sabiendo que fue utilizado recientemente.
Desventaja: En el peor caso, el algoritmo de segunda oportunidad degenera en FIFO.
Segunda oportunidad mejorada
Ventaja: El bit de referencia puede ampliarse con un bit de modificación, dándonos varias combinaciones en orden de preferencia como "No ha sido utilizado ni modificado recientemente", "No ha sido utilizada recientemente, pero está modificada."
Desventaja: La lógica para encontrar una página víctima es similar a la segunda oportunidad, pero busca reducir el costo de E/S. Esto puede requerir, sin embargo, dar hasta cuatro vueltas (por cada una de las listas) para elegir la página víctima.
Algoritmos con manejo de buffers
Un mecanismo que se emplea cada vez con mayor frecuencia es que el sistema no espere a enfrentarse a la necesidad de reemplazar un marco, sino que proactivamente busque tener siempre espacio vacío en memoria.
Ámbitos del algoritmo de reemplazo de páginas
Reemplazo local
Cuando se presenta un fallo de página, las únicas páginas que se considerarán para su intercambio serán aquellas pertenecientes al mismo proceso que el que causó el fallo.
Reemplazo global
Determinan el espacio asignado a los procesos al ser inicializados, e influyen a los algoritmos de reemplazo (por ejemplo, dando mayor peso para ser elegidas como páginas víctima a aquellas que pertenezcan a un proceso que excede de su asignación en memoria física).
Comentarios
Publicar un comentario