Está en la página 1de 5

Gestor de Memoria

La gestin de memoria o administracin de memoria es el acto de gestionar la


memoria de un dispositivo informtico. El proceso de asignacin de memoria a los
programas que la solicitan. La gestin de la memoria principal de una computadora es
una tarea de suma importancia para el funcionamiento de la misma.
La administracin de memoria se refiere a los distintos mtodos y operaciones
que se encargan de obtener la mxima utilidad de la memoria, organizando los
procesos y programas que se ejecutan de manera tal que se aproveche de la mejor
manera posible el espacio disponible.
Para poder lograrlo, la operacin principal que realiza es trasladar la
informacin que deber ser ejecutada por la unidad central de procesamiento o
procesador, a la memoria principal. Actualmente esta administracin se conoce como
memoria virtual, porque no es la memoria fsica del procesador sino una memoria
virtual que la representa. Entre algunas ventajas, esta memoria permite que el sistema
cuente con una memoria ms extensa teniendo la misma memoria real, por lo que esta
se puede utilizar de manera ms eficiente.
Tareas del Gestor de Memoria
Los sistemas de gestin de memoria de sistemas operativos multitarea
normalmente tratan con las siguientes tareas:

Reasignacin: En los sistemas con memoria virtual, los programas durante su


ejecucin pueden salir por un tiempo de la memoria y luego regresar, de modo
que no pueden colocarse en el lugar que ocupaban previamente. Por ello debe
ser posible que residan en diferentes partes de la memoria en diferentes
momentos. As, la gestin de memoria en el sistema operativo debe ser capaz
de trasladar los programas en memoria y manejar referencias a la memoria y
las direcciones en el cdigo del programa para que siempre apuntan a la
ubicacin correcta. La unidad de gestin de memoria virtual tambin debe
hacer frente a la concurrencia.

Proteccin: La proteccin de memoria, del ingls memory protection, es un


mtodo para controlar el uso de memoria en una computadora, y es parte
esencial de prcticamente todos los sistemas operativos modernos. El
principal propsito de la proteccin de memoria es evitar que un proceso en

un sistema operativo acceda a la memoria que no le ha sido asignada. As


pueden evitarse problemas durante la ejecucin del software, y tambin se
evita que software maligno acceda a los recursos del sistema.

Memoria compartida: Aunque la memoria utilizada por diferentes procesos


suele estar protegida, algunos procesos puede que s tengan que compartir
informacin y, para ello, han de acceder la misma seccin de memoria. La
memoria compartida es una de las tcnicas ms rpidas para posibilitar la
comunicacin entre procesos.

Organizacin lgica: Los programas a menudo estn organizados en


mdulos, algunos de los cuales pueden ser compartidos por diferentes
programas, algunos son de solo-lectura y otros contienen datos que se pueden
modificar. Se escriben y se compilan independientemente. La gestin de
memoria es responsable de manejar esta organizacin lgica, que se
contrapone al espacio de direcciones fsicas lineales. Una forma de lograrlo es
mediante la segmentacin de memoria.

Organizacin fsica: La memoria suele dividirse en un almacenamiento


primario de alta velocidad y uno secundario de menor velocidad. La gestin
de memoria del sistema operativo se ocupa de trasladar la informacin entre
estos dos niveles de memoria.
Elementos de hardware y software usados por el gestor de memoria

Segmentacin de memoria: La segmentacin es una tcnica de gestin de


memoria que pretende acercarse ms al punto de vista del usuario. Los programas se
desarrollan, generalmente, en torno a un ncleo central (principal) desde el que se
bifurca a otras partes (rutinas) o se accede a zonas de datos (tablas, pilas, etc).
Desde este punto de vista, un programa es un conjunto de componentes
lgicos de tamao variable o un conjunto de segmentos, es decir, el espacio lgico de
direcciones se considera como un conjunto de segmentos, cada uno definido por un
identificador, y consistente de un punto de inicio y el tamao asignado.
Paginacin de memoria: En sistemas operativos de computadoras, los
sistemas de paginacin de memoria dividen los programas en pequeas partes o
pginas. Del mismo modo, la memoria es dividida en trozos del mismo tamao que
las pginas llamados marcos de pgina. De esta forma, la cantidad de memoria

desperdiciada por un proceso es el final de su ltima pgina, lo que minimiza la


fragmentacin interna y evita la externa. En un momento cualquiera, la memoria se
encuentra ocupada con pginas de diferentes procesos, mientras que algunos marcos
estn disponibles para su uso. El sistema operativo mantiene una lista de estos
ltimos marcos, y una tabla por cada proceso, donde consta en qu marco se
encuentra cada pgina del proceso. De esta forma, las pginas de un proceso pueden
no estar contiguamente ubicadas en memoria, y pueden intercalarse con las pginas
de otros procesos.
De esta forma, cuando un proceso es cargado en memoria, se cargan todas sus
pginas en marcos libres y se completa su tabla de pginas.
DMA: El acceso directo a memoria (DMA, del ingls direct memory access)
permite a cierto tipo de componentes de una computadora acceder a la memoria del
sistema para leer o escribir independientemente de la unidad central de
procesamiento (CPU) principal. Muchos sistemas hardware utilizan DMA,
incluyendo controladores de unidades de disco, tarjetas grficas ytarjetas de sonido.
DMA es una caracterstica esencial en todos los ordenadores modernos, ya que
permite a dispositivos de diferentes velocidades comunicarse sin someter a la CPU a
una carga masiva de interrupciones.
Una transferencia DMA consiste principalmente en copiar un bloque de
memoria de un dispositivo a otro. En lugar de que la CPU inicie la transferencia, esta
se lleva a cabo por el controlador DMA. Un ejemplo tpico es mover un bloque de
memoria desde una memoria externa a una interna ms rpida. Tal operacin no
ocupa al procesador y, por ende, ste puede efectuar otras tareas. Las transferencias
DMA son esenciales para aumentar el rendimiento de aplicaciones que requieran
muchos recursos.
Bfer: Un bfer (del ingls, buffer) es un espacio de memoria, en el que se
almacenan datos de manera temporal, normalmente para un nico uso (generalmente
utilizan un sistema de cola FIFO); su principal uso es para evitar que el programa o
recurso que los requiere, ya sea hardware o software, se quede sin datos durante una
transferencia (entrada/salida) de datos irregular o por la velocidad del proceso.
Normalmente los datos se almacenan en un bfer mientras son transferidos
desde un dispositivo de entrada (como un ratn o mouse) o justo antes de enviarlos a
un dispositivo de salida(por ejemplo: altavoces). Tambin puede utilizarse para
transferir datos entre procesos, de una forma parecida a los bferes utilizados en

telecomunicaciones. Un ejemplo de esto ltimo ocurre en una comunicacin


telefnica, en la que al realizar una llamada esta se almacena, se disminuye su calidad
y el nmero de bytes a ser transferidos, y luego se envan estos datos modificados al
receptor.
Puertos lgicos: Se denomina puerto lgico a una zona o localizacin de
la memoria de acceso aleatorio (RAM) de la computadora que se asocia con
un puerto fsico o un canal de comunicacin, y que proporciona un espacio para el
almacenamiento temporal de la informacin que se va a transferir entre la
localizacin de memoria y el canal de comunicacin.
Memoria virtual: La memoria virtual es una tcnica de gestin de la
memoria que permite que el sistema operativo disponga, tanto para el software de
usuario como para s mismo, de mayor cantidad de memoria que est disponible
fsicamente. La mayora de los ordenadores tienen cuatro tipos de memoria: registros
en la CPU, la memoria cach (tanto dentro como fuera del CPU), la memoria RAM y
el disco duro. En ese orden, van de menor capacidad y mayor velocidad a mayor
capacidad y menor velocidad.
Muchas aplicaciones requieren acceso a ms informacin (cdigo y datos) que
la que se puede mantener en memoria fsica. Esto es as sobre todo cuando el sistema
operativo permite mltiples procesos y aplicaciones ejecutndose simultneamente.
Una solucin al problema de necesitar mayor cantidad de memoria de la que se posee
consiste en que las aplicaciones mantengan parte de su informacin en disco,
movindola a la memoria principal cuando sea necesario.
Unidad de gestin de memoria: La unidad de gestin de memoria, unidad de
administracin de memoria o unidad de manejo de memoria (del ingls Memory
Management Unit, MMU) es un dispositivo de hardware formado por un grupo
de circuitos integrados, responsable del manejo de los accesos a la memoria por parte
de la Unidad de Procesamiento Central (CPU) o procesador.
Entre las funciones de este dispositivo se encuentran la traduccin de las
direcciones lgicas (o virtuales) a direcciones fsicas (o reales), la proteccin de la
memoria, el control de cach y, en arquitecturas de computadoras ms simples
(especialmente en sistemas de 8 bits), bank switching.
Cach: La cach es la memoria de acceso rpido de una computadora, que
guarda temporalmente los datos recientemente procesados (informacin). La memoria

cach es un bfer especial de memoria que poseen las computadoras, que funciona de
manera similar a la memoria principal, pero es de menor tamao y de acceso ms
rpido. Es usada por el microprocesador para reducir el tiempo de acceso a datos
ubicados en la memoria principal que se utilizan con ms frecuencia. La cach es
una memoria que se sita entre la unidad central de procesamiento (CPU) y
la memoria de acceso aleatorio (RAM) para acelerar el intercambio de datos.
Problemas comunes del gestor de memoria
Fragmentacin: La fragmentacin es la memoria que queda desperdiciada al
usar los mtodos de gestin de memoria. Tanto el primer ajuste, como el mejor y el
peor producen fragmentacin externa.
.
La fragmentacin es generada cuando durante el reemplazo de procesos
quedan huecos entre dos o ms procesos de manera no contigua y cada hueco no es
capaz de soportar ningn proceso de la lista de espera. Tal vez en conjunto si sea
espacio suficiente, pero se requerira de un proceso de desfragmentacin de memoria
o compactacin para lograrlo. Esta fragmentacin se denomina fragmentacin
externa.
Existe otro tipo de fragmentacin conocida como fragmentacin interna, la
cual es generada cuando se reserva ms memoria de la que el proceso va realmente a
usar. Sin embargo a diferencia de la externa, estos huecos no se pueden compactar
para ser utilizados. Se debe de esperar a la finalizacin del proceso para que se libere
el bloque completo de la memoria.
Se soluciona a travs de la desfragmentacin. Este proceso consiste en ordenar
los trozos de informacin distribuida a travs de todo el disco, para mejorar la
velocidad de acceso y distribuir de mejor forma el espacio libre del dispositivo. Como
este proceso consiste en la reorganizacin de partes de archivos, requiere de
suficiente memoria para realizar los movimientos de los trozos de informacin. Al
mover en forma fsica la informacin, la estructura lgica no sufre alteraciones.

También podría gustarte