¿Qué es la Administración de Memoria?
Es una tarea realizada por el sistema operativo que consiste en gestionar la jerarquía de
memoria, en cargar y descargar procesos en memoria principal para que sean ejecutados.
Para ello el sistema operativo gestiona lo que se conoce como MMU o Unidad de
Administración de Memoria, el cual es un dispositivo hardware que transforma las
direcciones lógicas en físicas.
La administración de la “memoria principal” de un sistema ha sido y es uno de los factores
más importantes en el diseño de los sistemas operativos.
Los términos “memoria” y “almacenamiento” se consideran equivalentes.
Los programas y datos deben estar en el almacenamiento principal para:
Para poder ejecutar.
Referenciarlos directamente.
Los objetivos de la gestión de memorias son los siguientes:
Ofrecer a cada proceso un espacio lógico propio.
Proporcionar protección entre los procesos.
Permitir que los procesos compartan memoria.
Maximizar el rendimiento del sistema.
En la administración de memoria se cumple una serie de Requisitos de la Gestión de
Memoria
Reubicación: En un sistema multiprogramados la memoria se encuentra compartida
por varios procesos, por lo tanto, los procesos deben ser cargados y descargados de
memoria.
Protección: En un sistema con multiprogramación es necesario proteger al sistema
operativo y a los otros procesos de posibles accesos que se puedan realizar a sus
espacios de direcciones.
Compartición: En ciertas situaciones, bajo la supervisión y control del sistema
operativo, puede ser provechoso que los procesos puedan compartir memoria.
Organización Lógica: Tanto la memoria principal como la secundaria presentan una
organización física similar, como un espacio de direcciones lineal y unidimensional.
Debe existir una cierta correspondencia entre el sistema operativo y el hardware al
tratar los datos y los programas de los usuarios de acuerdo a la estructura lógica que
ellos presenten.
Organización Física: Debe ser parte de la administración de memoria, la
organización del flujo de información entre la memoria principal y la memoria
secundaria.
En la jerarquía de almacenamiento los programas y datos tienen que estar en la memoria
principal para poder ejecutarse o ser referenciados.
En la administración de almacenamiento existen una serie de estrategias las cuales son:
Estrategias de búsqueda.
- Estrategias de búsqueda por demanda.
- Estrategias de búsqueda anticipada.
Estrategias de colocación.
Estrategias de reposición.
En la multiprogramación con intercambio de almacenamiento, el esquema de “intercambio”
los programas del usuario no requieren permanecer en la memoria principal hasta su
terminación.
En la organización del almacenamiento de niveles múltiples, aquí se debe proporcionar los
medios para retener programas y datos en un gran almacenamiento auxiliar:
Permitir que el espacio de direcciones virtuales de un usuario sea mayor que el
espacio de direcciones reales.
Soportar multiprogramación de forma efectiva en un sistema con muchos usuarios
que compartan el almacenamiento real.
Otro tema con respecto administración de memoria, tenemos a la segmentación:
En los sistemas de “segmentación” un programa y sus datos pueden ocupar varios bloques
separados de almacenamiento real.
Los bloques:
No necesitan ser de igual tamaño.
Los bloques separados no necesitan ser adyacentes.
Deben estar compuestos de posiciones contiguas de almacenamiento.
Al control de Acceso en Sistemas de Segmentación Se le otorga a cada proceso ciertos
derechos de acceso a todos los segmentos y se les niega completamente el acceso a muchos
otros. Si un proceso tiene “acceso de lectura” a un segmento, puede obtener cualquier
elemento de información contenido en ese segmento.
El sistema de Paginación / Segmentación: ofrecen las ventajas de las dos técnicas de
organización del almacenamiento virtual.
Compartimiento en un Sistema de Paginación / Segmentación: se implementa
disponiendo entradas en tablas de mapa de segmentos para diferentes procesos que
apunten a la misma tabla de mapa de páginas.
En las Estrategias de Administración del Almacenamiento Virtual, encontramos las
organizaciones de almacenamiento virtual las siguientes:
• Paginación. • Segmentación. • Segmentación y paginación.
Conclusiones.
Una de las tareas más complejas e importantes que lleva a cabo el sistema operativo
es la de administrar la memoria.
Todos los métodos presentados en el módulo de esta unidad, suponen que para
ejecutar un proceso es necesario tenerlo completamente en memoria principal, ya
sea en espacios contiguos o no.
La paginación es un esquema similar al de las particiones estáticas, con la ventaja
de que un proceso puede ser cargado en más de una partición y en espacios de
memoria no contiguos.
La segmentación es un esquema similar al de las particiones dinámicas con ventajas
similares a la paginación.