Unidad 2 Manejo de memoria

2
ESTRUCTURAS DE DATOS UNIDAD 2 MANEJO DE MEMORIA MANEJO DE MEMORIA ESTATICA . Es la memoria que se reserva en el momento de la compilación, es decir antes de comenzar la ejecución del programa. Los datos son creados al iniciar el programa y desaparecen al finalizar el mismo. Mantienen la misma localización en memoria durante todo el transcurso del programa hasta que se destruyen. Los datos administrados de este modo son variables globales, variables de tipo static y literales de cualquier tipo. El inconveniente de la reserva estática es que la cantidad de memoria se reserva siempre antes de conocer los datos reales del problema. Tampoco se adapta de manera eficiente a la memoria real disponible de la computadora en la que se ejecute el programa. Las estructuras de datos estáticas son aquellas cuyo tamaño no puede modificarse durante la ejecución del programa. La técnica de asignación de la memoria estática es sencilla. A partir de una posición señalada por un puntero de referencia se almacena la variable x y se avanza en puntero tantos bites como sean necesarios para esta variable quedando una nueva referencia para una nueva variable. MEMORIA DINAMICA Cuando la memoria no puede ser definida por qué no se conoce o no se tiene idea del numero de variables a considerar, se puede usar memoria dinámicamente que permite solicitar memoria en tiempo de ejecución real por lo que mientras se necesite se le va pidiendo al sistema operativo. El medio por el cual el sistema operativo maneja la memoria es por medio de un puntero. 1

Transcript of Unidad 2 Manejo de memoria

Page 1: Unidad 2 Manejo de memoria

ESTRUCTURAS DE DATOS

UNIDAD 2 MANEJO DE MEMORIA

MANEJO DE MEMORIA ESTATICA .

Es la memoria que se reserva en el momento de la compilación, es decir antes de comenzar la ejecución del programa. Los datos son creados al iniciar el programa y desaparecen al finalizar el mismo. Mantienen la misma localización en memoria durante todo el transcurso del programa hasta que se destruyen.

Los datos administrados de este modo son variables globales, variables de tipo static y literales de cualquier tipo.

El inconveniente de la reserva estática es que la cantidad de memoria se reserva siempre antes de conocer los datos reales del problema.

Tampoco se adapta de manera eficiente a la memoria real disponible de la computadora en la que se ejecute el programa.

Las estructuras de datos estáticas son aquellas cuyo tamaño no puede modificarse durante la ejecución del programa.

La técnica de asignación de la memoria estática es sencilla. A partir de una posición señalada por un puntero de referencia se almacena la variable x y se avanza en puntero tantos bites como sean necesarios para esta variable quedando una nueva referencia para una nueva variable.

MEMORIA DINAMICA

Cuando la memoria no puede ser definida por qué no se conoce o no se tiene idea del numero de variables a considerar, se puede usar memoria dinámicamente que permite solicitar memoria en tiempo de ejecución real por lo que mientras se necesite se le va pidiendo al sistema operativo. El medio por el cual el sistema operativo maneja la memoria es por medio de un puntero.

Este tipo de datos se crea y se destruye durante la ejecución del programa por lo que se va dimensionando de acuerdo a los requerimientos de este, evitando desperdiciar la memoria o bien no poder procesar la información requerida (por falta de espacio).

Los datos que se administran de esta forma son:

a) Los objetos correspondientes a procedimientos o métodos recursivos ya que en tiempo de compilación no se sabe el número de variables que serán necesarias.

b) Las estructuras dinámicas de datos como listas, pilas, colas y arboles ya que el número de elementos que las forman no es conocido hasta que el programa se ejecuta.

1