viernes, 11 de diciembre de 2015

La Administración de Memoria

¿Qué es la memoria?


Bancos de memoria RAM

Podríamos decir que la memoria de la computadora es uno de los elementos más importantes para que todo funcione correctamente, es más, sin ella la PC ni siquiera podrá arrancar, tal es la importancia que este componente electrónico tiene en la estructura de nuestra computadora. La palabra Memoria es un término genérico usado para designar las partes de la computadora o de los dispositivos periféricos donde todos los datos y programas son almacenados.

Administración de Memoria

La gestión de memoria o administración de memoria es el acto de gestionar la memoria de un dispositivo informático. El proceso de asignación de memoria a los programas que la solicitan. La gestión de la memoria principal de una computadora es una tarea de suma importancia para el funcionamiento de la misma.

Los sistemas de memoria virtual separan las direcciones de memoria utilizadas por un proceso de las direcciones físicas reales, permitiendo la separación de procesos e incrementando la cantidad efectiva de memoria de acceso aleatorio utilizando la paginación. La calidad de la gestión de la memoria es crucial para las prestaciones del sistema.

El recolector de basura es la asignación y liberación automática de los recursos de memoria para un programa. La implementación suele ser a nivel del lenguaje de programación en contraposición a la gestión manual de memoria, que asigna y libera los recursos de memoria de una computadora de forma explícita.

La administración de memoria se refiere a los distintos métodos y operaciones que se encargan de obtener la máxima 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.


Entre las principales operaciones que desarrolla la administración de memoria se encuentran la reubicación, que consiste en trasladar procesos activos dentro y fuera de la memoria principal para maximizar la utilización del procesador; la protección, mecanismos que protegen los procesos que se ejecutan de interferencias de otros procesos; uso compartido de códigos y datos, con lo que el mecanismo de protección permite que ciertos procesos de un mismo programa que comparten una tarea tengan memoria en común.

Tipos de Memorias

Memoria RAM
Una computadora trabaja con cuatro tipos de memorias diferentes, que sirven para realizar diversas funciones. Estas son la memoria RAM, la memoria ROM, la memoria SRAM o Caché y la memoria Virtual o de Swap.

Entre todas ellas, la más importante es la denominada memoria RAM (Random Access Memory), ya que nuestra computadora no podría funcionar sin su existencia.

En la RAM se guarda distinto tipo de información, desde los procesos temporales como modificaciones de archivos, hasta las instrucciones que posibilitan la ejecución de las aplicaciones que tenemos instaladas en nuestra PC.

Por tal motivo, es utilizada constantemente por el microprocesador, que accede a ella para buscar o guardar temporalmente información referente a los procesos que se realizan en la computadora.

Dentro de las memorias RAM existen distintos tipos de tecnologías que se diferencian principalmente por su velocidad de acceso y su forma física. Entre ellas encontramos las DRAM, SDRAM, RDRAM, entre otras.

Las denominadas DRAM (Dynamyc Random Acces Memory) han sido utilizadas en las computadoras desde los primeros años de la década de los 80's, y aún en la actualidad continúan utilizándose. Se trata de uno de los tipos de memorias más económicas, aunque su mayor desventaja está relacionada con la velocidad de proceso, ya que es una de las más lentas, lo que ha llevado a los fabricantes a modificar su tecnología para ofrecer un producto mejor.

En cuanto al tipo de tecnología SDRAM, derivada de la primera, comenzó a comercializarse a finales de la década de los 90's, y gracias a este tipo de memoria se lograron agilizar notablemente los procesos, ya que puede funcionar a la misma velocidad que la motherboard a la que se encuentra incorporada.

La memoria ROM viene incorporada a la motherboard y es utilizada por la PC para dar inicio a la BIOS, lo cual es básicamente un programa que posee las instrucciones adecuadas para guiar a la computadora durante el arranque.

La diferencia fundamental que existe entre la memoria RAM y la ROM radica en la velocidad, ya que la ROM al tratarse de un tipo de memorial secuencial necesita recorrer todos los datos hasta hallar la información que está buscando, mientras que la RAM trabaja de manera aleatoria, lo que hace que acceda a la información específica de manera directa.

Este factor hace que la velocidad de la RAM sea notablemente superior. Asimismo, la capacidad de ésta es mayor a la de la memoria ROM, y a diferencia de esta última, la RAM no viene integrada al motherboard, lo que permite que el usuario pueda expandir la cantidad de memoria RAM de su PC.

Otro de los tipos de memoria utilizados por las computadoras es la denominada SRAM, más conocida como memoria Caché.

Tanto el procesador como el disco rígido y la motherboard poseen su propia memoria caché, que básicamente resguarda distintas direcciones que son utilizadas por la memoria RAM para realizar diferentes funciones, tales como ejecutar programas instalados en la PC.


Estrategias de Administración de Memoria 



Están dirigidas a la obtención del mejor uso posible del recurso del almacenamiento principal.
Se dividen en las siguientes categorías:


  • Estrategias de búsqueda:
  • Estrategias de búsqueda por demanda.
  • Estrategias de búsqueda anticipada.
  • Estrategias de colocación.
  • Estrategias de reposición.

Las “estrategias de búsqueda” están relacionadas con el hecho de cuando obtener el siguiente fragmento de programa o de datos para su inserción en la memoria principal.

En la “búsqueda por demanda” el siguiente fragmento de programa o de datos se carga al almacenamiento principal cuando algún programa en ejecución lo referencia.

Se considera que la “búsqueda anticipada” puede producir un mejor rendimiento del sistema.

Las “estrategias de colocación” están relacionadas con la determinación del lugar de la memoria donde se colocara (cargará) un programa nuevo.

Las “estrategias de reposición” están relacionadas con la determinación de que fragmento de programa o de datos desplazar para dar lugar a los programas nuevos.


Cuadro Comparativo de las Técnicas para la Administración de Memoria


Técnica
Descripción
Ventajas
Desventajas
Partición Fija
La memoria principal se divide en varias particiones estáticas durante la generación del sistema. Un proceso puede cargarse en una partición de igual o mayor tamaño
Sencillo de implementar; pequeña sobre carga del Sistema Operativo
Uso ineficiente de la memoria por la fragmentación interna, el número de procesos activos es fijo.
Partición Dinámica
La particiones se crean en forma dinámica, de manera que cada proceso se cargue en una parte del mismo tamaño exacto que el proceso.
Sin fragmentación interna; uso más ineficiente de la memoria principal.
 Uso ineficiente del procesador por la necesidad de compactación para contrarrestar la fragmentación externa.
Paginación Simple
La memoria principal se divide en varios marcos del mismo tamaño. Cada proceso se divide en varias páginas iguales del mismo tamaño que los marcos. Un proceso carga todas sus páginas en marcos disponibles n necesariamente contiguos.
Sin segmentación externa.
Una pequeña cantidad de fragmentación externa.
Segmentación Simple
Cada proceso está dividido en varios segmentos. Un proceso carga todos los segmentos en partes dinámicas que no necesitan ser contiguas.
Sin fragmentación interna
Necesidad de compactación.
Paginación de memoria virtual
Cómo la paginación simple excepto que no es necesario cargar todas las páginas de un proceso. Las páginas no residentes necesarias se traen después en forma automática
Sin fragmentación externa un grado más alto de multiprogramación; espacio de proceso virtual grande.
Sobrecarga de administración de memoria compleja.
Segmentación de memoria virtual
Como la segmentación simple, excepto que no es necesario cargar todos los segmentos de un proceso. Los segmentos no residentes necesarios se traen después en forma automática.

Sin fragmentación interna un grado más alto de multiprogramación; espacio de dirección virtual grande; soporte de protección y compartimento
Sobrecarga de administración de memoria compleja.




No hay comentarios:

Publicar un comentario