Ir al contenido principal

GESTIÓN DE MEMORIA VIRTUAL


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

Entradas populares de este blog

MAPA MENTAL-INFORME FINAL DE AUDITORÍA

  Resultados Reda

PRESENTACIÓN MATEMÁTICAS OPERATIVAS

¿Qué son? Las Matemáticas Operativas  proporcionan las herramientas básicas para la modelación y solución de problemas relacionados con la toma de decisiones en la gestión de cualquier campo. Una de los objetivos principales de este estudio, es desarrollar la capacidad de evaluar situaciones problema y poder modelarlas a través de expresiones aritméticas, algebraicas o trigonométricas a partir del reconocimiento de los conjuntos numéricos racionales, irracionales y reales. 

PRESENTACIÓN PROGRAMACIÓN DE DISPOSITIVOS MÓVILES

  ¿Qué es? Es una asignatura fascinante que se sumerge en el emocionante mundo del desarrollo de aplicaciones para plataformas móviles. En este curso, los estudiantes exploran los principios y las prácticas fundamentales necesarios para diseñar y crear aplicaciones efectivas y atractivas para dispositivos móviles como smartphones y tablets. Se abordan temas clave, incluyendo el uso de entornos de desarrollo específicos para plataformas como Android o iOS, la comprensión de las interfaces de usuario móviles, la gestión de sensores y la implementación de funcionalidades orientadas a la movilidad. A lo largo de la asignatura, se enfatiza la importancia de la usabilidad, el rendimiento y la adaptabilidad a diversos dispositivos, brindando a los estudiantes las habilidades esenciales para enfrentar los desafíos dinámicos de la programación móvil en la actualidad.