Memoria Virtual
GESTIÓN DE MEMORIA
La función de la gestión de memoria es permitir la multiprogramación manteniendo muchos procesos en memoria de forma simultanea.La estrategias usadas en la gestión de memoria son importantes por que las instrucciones se ejecutan en memoria física.
Una estrategia es colocar todo el espacio de direcciones lógicos en la memoria física, pero eso limita el tamaño de los programas al tamaño de la memoria física.
Existen casos en que no todo el programa debe ser asignado a memoria física o todo el proceso al mismo tiempo.
MEMORIA VIRTUAL
Una parte del programa debe encontrarse en memoria para ser ejecutado. La memoria virtual puede ser mas grande que la memoria física. Los procesos pueden compartir espacios de direcciones.VENTAJAS:
- Los programas al contar con un espacio de direcciones lógicos y una memoria virtual ya no son limitados por la memoria física.
- Al no ser usada toda la memoria física, pueden ser asignado otros programas a memoria permitiendo así la multiprogramación.
- Paginación por demanda.
- Segmentación por demanda.
PAGINACIÓN POR DEMANDA
- Los procesos se encuentran en un almacenamiento secundario.
- Cuando se requiera el uso de un proceso, pasa a memoria a través de intercambio solo las páginas necesarias para ejecutarse.
SWAPP (ÁREA DE INTERCAMBIO)
Mueve una página a memoria solo cuando es requerida.
Trae beneficios:- Requiere menos E/S.
- Requiere menos memoria.
- Respuesta más rápida.
- Más usuarios
BIT VÁLIDO O INVÁLIDO
Al cargar solo algunas páginas del almacenamiento secundario a memoria, se debe diferenciar que páginas del proceso están en memoria y cuales aun están en el almacenamiento secundario.
Se le asigna un bit válido o inválido a cada página en la tabla de páginas.
- BIT VALIDO: La página se encuentra en memoria.
- BIT INVALIDO: La página no se encuentra en memoria o no se encuentra en alguna dirección lógica.
PÁGINAS COMPARTIDAS
Se pueden compartir ciertas páginas, por lo que tenemos un código compartido y datos o código privados de cada proceso.- El código compartido es de sólo lectura y está en la misma dirección lógica de los procesos que lo utilizan (A y B están en la dirección 0 y 1 respectivamente de los procesos P1 y P2).
- Los datos y/o códigos privados de cada proceso pueden aparecer en cualquier dirección de su memoria virtual.
REEMPLAZO DE PÁGINA
Soluciona el problema de no encontrar frames disponibles.Si encuentra un página que no está en uso, la libera.
Ese frame liberado puede ser usado por la página donde ocurrió el fallo.
Para realizar el reemplazo de página se usan los siguientes algoritmos:
SEGMENTACIÓN POR DEMANDA
Un programa es una colección de segmentos.
La dirección lógica consiste en número de segmento y desplazamiento.
La tabla de segmento esta conformada por una base y un límite.
- BASE: Contiene la dirección física inicial donde se ubicará el segmento.
- LÍMITE: Es la longitud del segmento.
Enlaces relacionados:
Algoritmo de Reemplazo de Página -FIFO + JAVA
Algoritmo de Reemplazo de Página -LRU + JAVA
Comentarios
Publicar un comentario