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

BUSCANDO CREER

 

PRINCIPALES DIAGRAMAS UML

Una clase UML representa un concepto dentro del sistema que se está modelando. Es una descripción de un conjunto de objetos que comparten los mismos atributos, operaciones, métodos, relaciones y semántica. Una clase se representa por un rectángulo, con el borde externo continuo, con tres compartimentos separados mediante líneas horizontales. El compartimento superior tiene el nombre de la clase y otras propiedades generales (incluido su estereotipo); el compartimento intermedio contiene el listado de atributos; el compartimento inferior contiene una lista de operaciones. Los compartimentos de atributos y operaciones se pueden eliminar para simplificar el diagrama. La eliminación no indica que no existan atributos u operaciones.  Relaciones Asociación :  Representa una relación estructural entre dos o más clases Agregación :  Indica una relación "todo-parte" entre una clase "contenedora" y una clase "contenida". La parte puede existir independientemente del

PRESENTACIÓN REDES DE DATOS II

  ¿Qué es? Las Redes de Datos II  proporciona a los estudiantes una comprensión más profunda y especializada de los principios, protocolos y tecnologías que sustentan las redes de datos modernas, permitiéndoles abordar desafíos más complejos en el diseño, implementación y gestión de infraestructuras de red avanzadas. Competencia general Diseñar planes de direccionamiento de redes de datos de área amplia, considerando su seguridad a partir de los requerimientos del cliente para el diseño, protocolos de comunicación y tecnologías adecuadas para ambientes distribuídos. Elementos de competencia Determinar el proceso de diseño de una red de datos IPv4, a partir del análisis y evaluación de cada uno de los componentes y las aplicaciones que la conforman  Formular una red de datos, integrada, identificando los protocolos y capas de modelo OSI y TCP/IP. Planear el protocolo IPv6 su implementación, estableciendo el Iot como tecnología referencia en aplicaciones en redes. Video de introducción