Técnicas Fundamentales de Asignación y Virtualización de Memoria
Clasificado en Informática
Escrito el en
español con un tamaño de 3,73 KB
Técnicas Fundamentales de Gestión de Memoria en Sistemas Operativos
Asignación Particionada
La asignación particionada es una de las técnicas más sencillas de administración de memoria. La memoria se divide en distintas regiones o particiones de memoria, cada una de las cuales mantiene un distinto espacio de dirección de trabajo.
Asignación Particionada Reasignable
Cuando no se puede cargar otra tarea debido a las lagunas (huecos) existentes, las tareas que permanecen en la memoria se compactan mediante reasignación hacia arriba.
Desventajas y Soluciones
Una desventaja clave es que no se asegura que el programa siga funcionando en la nueva ubicación a menos que se modifiquen los componentes dependientes de dirección, tales como:
- Instrucciones con referencia a memoria.
- Lista de parámetros.
- Estructura de datos.
La solución a este problema es recargar cada programa que deba ser reasignado y comenzar desde el principio.
Estrategias para Afrontar la Fragmentación
Para encarar la fragmentación se pueden implementar las siguientes acciones:
- Tolerar el desperdicio de memoria y la degradación del rendimiento.
- Aumentar la memoria hasta que la multiprogramación se mantenga siempre en un nivel adecuado para el aprovechamiento del CPU.
- Proveer recursos adicionales de equipo para mitigar las causas de la fragmentación.
Memoria Virtual
La memoria virtual es una técnica de administración de la memoria real que permite al sistema operativo brindarle al software de usuario una abstracción de la memoria disponible.
Paginación
En la paginación, las direcciones virtuales se dividen en unidades llamadas páginas. Las páginas correspondientes en la memoria física se denominan marcos o cuadros de página. Las páginas y los marcos tienen siempre el mismo tamaño.
Segmentación
La segmentación es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica. Esto se lleva a cabo mediante una agrupación lógica de la información en bloques de tamaño variable denominados segmentos.
Estructuras de Tablas
- Tabla de Segmentos: Contiene información sobre la longitud, protección y el apuntador de la tabla de programación asociada.
- Tabla de Páginas: Contiene apuntadores a direcciones y registra los fallos de páginas (page faults).
Tipos de Búsqueda de Páginas
Existen dos tipos principales de búsqueda:
- Anticipada (Pre-fetching): Ventaja: Se reduce la latencia al no tener que ir a buscar la información requerida en el momento exacto.
- Bajo Demanda (On Demand): Ventaja: Solo se solicita y carga la información que es estrictamente necesaria en ese instante.
Paginación Segmentada
Esta técnica consiste en segmentar la tabla de páginas, adecuándola al tamaño del programa. Para lograr esto, se mantiene una tabla de segmentos cuyas entradas indican la dirección de inicio de cada tabla de páginas y su tamaño correspondiente.
Técnicas de Administración de Memoria Virtual (Estrategias de Reposición)
Las estrategias de reposición de páginas más comunes incluyen:
- Optimización (Óptima).
- Reposición de página al azar.
- FIFO (First-In, First-Out).
- LRU (Least Recently Used).
- LFU (Least Frequently Used).
- NUR (Not Used Recently).