La memoria es uno de los principales
recursos de
la computadora, la cual debe de administrarse con mucho cuidado. Aunque actualmente la mayoría de los
sistemas de cómputo cuentan con una alta capacidad de
memoria, de igual manera las aplicaciones actuales tienen también altos requerimientos de memoria, lo que sigue generando escasez de memoria en los sistemas multitarea y/o multiusuario.
La parte del
sistema operativo que administra la memoria se llama
administrador de memoria y su labor consiste en llevar un
registro de las partes de memoria que se estén utilizando y aquellas que no, con el fin de asignar espacio en memoria a los
procesos cuando éstos la necesiten y liberándola cuando terminen, así como administrar el intercambio entre la memoria principal y el disco en los casos en los que la memoria principal no le pueda dar capacidad a todos los procesos que tienen necesidad de ella.
Los sistemas de
administración de memoria se pueden clasificar en dos tipos: los que desplazan los procesos de la memoria principal al disco y viceversa durante la ejecución y los que no.
El propósito principal de una
computadora es el de ejecutar
programas, estos programas, junto con la
información que accesan deben de estar en la memoria principal (al menos parcialmente) durante la ejecución.
Para optimizar el uso del
CPU y de la memoria, el
sistema operativo debe de tener varios procesos a la vez en la memoria principal, para lo cual dispone de varias opciones de administración tanto del
procesador como de la memoria. La
selección de uno de ellos depende principalmente del
diseño del
hardware para el sistema. A continuación se observarán los puntos correspondientes a
la administración de la memoria.
Administración de memoria
Una de las tareas más importantes y complejas de un sistema operativo es la gestión de memoria. La gestión de memoria implica tratar la memoria principal como un recurso para asignar y compartir entre varios procesos activos. Para un uso eficiente del procesador y de los servicios de E/S, resulta interesante mantener en memoria principal tantos procesos como sea posible. Además, es deseable poder liberar a los programadores de las limitaciones de tamaño en el desarrollo de los programas.
H. M. Deitel (1987) menciona que la administración de memoria se refiere a una variedad de métodos utilizados para almacenar datos y programas en memoria, hacer un seguimiento de ellos y recuperar el espacio de memoria cuando ya no se necesitan. En los minicomputadores y mainframes tradicionales, la administración de memoria incluye la memoria virtual, la conmutación de bancos y las técnicas de protección de memoria.
La parte del sistema operativo que administra la memoria se llama administrador de la memoria.