Gestión de memoria virtual
Algoritmos para gestionar la memoria virtual
Paginación por demanda: La paginación por demanda introdujo la idea de cargar nada más una porción del programa en la memoria para su procesamiento. Fue el primer esquema ampliamente utilizado que eliminó la necesidad de colocar toda la tarea en la memoria desde el principio hasta el final de su procesamiento.
Un ejemplo de esta ocurre cuando un usuario escoge la primera opción del menú de un programa de aplicación los otros tres módulos que no se requieren en ese momento se pueden extraer de la memoria y cargar de nuevo cuando sean llamados.
Ventajas:
- -Al no cargar las páginas que no son utilizadas ahorra memoria para otras aplicaciones.
- -Al mejorar el uso de la memoria, mejora el grado de multiprogramación.
- -Carga inicial más rápida ya que solo lee del disco lo que se utilizará.
- -Capacidad de hacer funcionar programas que ocupan más memoria que la poseída.
- -Copia en escritura: Permite utilizar las mismas páginas para dos procesos (padre-hijo) hasta que uno de estos las modifique.
Desventajas:
- -Debido a la sobre-asignación podemos quedarnos sin frames libres para agregar nuevas páginas, si esto sucede debemos recurrir a un reemplazo.
- -Cada fallo de página requiere cargar a memoria una página a leer, si ocurren muchos fallos de página el rendimiento empeora notablemente.
- -Las páginas que son sacadas de los frames por intercambio pueden volver a ser llamadas, lo que ocasiona que se lea en múltiples ocasiones la misma información.
Reemplazo de páginas:
Es una parte fundamental de la paginación, ya
que es la pieza que posibilita una verdadera separación entre memoria lógica
y física. El mecanismo básico a ejecutar es simple: si todos los marcos están
ocupados, el sistema deberá encontrar una página que pueda liberar (una página víctima) y llevarla al espacio de intercambio en el disco. Luego, se puede
emplear el espacio recién liberado para traer de vuelta la página requerida, y
continuar con la ejecución del proceso.
Para analizar a un algoritmo de reemplazo, si se busca la cantidad de fallos
de página producidos, además de la cadena de referencia, es necesario conocer la cantidad de páginas y marcos del sistema que se está modelando.
Un fenómeno que se presenta con algunos algoritmos es la anomalía de Belady, si bien la lógica indica que a mayor número
de marcos disponibles se tendrá una menor cantidad de fallos de página, con algunas de cadenas de referencia y bajo ciertos
algoritmos puede haber una regresión o degradación, en la cual la cantidad de
fallos aumenta aún con una mayor cantidad de marcos.
1. FIFO: El algoritmo de reemplazo más sencillo es el primero en entrar, primero en salir. Este algoritmo asocia a cada página el instante en el que se trajo a memoria. Cuando hay que reemplazar una página, se elige la más antigua.
2. OPT: El algoritmo de reemplazo de páginas óptimo sería aquel que eligiera la página de la memoria que vaya a ser referenciada más tarde. Si se elige otra, se producirá una falta de página antes, con lo que baja el rendimiento del sistema. Este algoritmo es irrealizable, pues no hay forma de predecir qué páginas referenciará un proceso en el futuro.
3. LRU: Explota esta idea: al ocurrir un fallo de página se utiliza la página que no haya sido utilizada hace más tiempo.
4. MFU: Se basa en el argumento de que la página con el menor recuento probablemente acaba de llegar y aún tiene que usarse.



Comentarios
Publicar un comentario