Estructura de datos - memorias

Solo disponible en BuenasTareas
  • Páginas : 6 (1389 palabras )
  • Descarga(s) : 4
  • Publicado : 6 de junio de 2010
Leer documento completo
Vista previa del texto
UNIDAD II: MANEJO DE MEMORIAS

Introducción: Cuando se desea implementar una estructura de datos, primero es necesario tener muy claro cómo va a ser el manejo de memoria, la diferencia entre estructura estática y dinámica es el manejo de memoria. En la estática, durante la ejecución del programa, el tamaño de la estructura no cambia, en cambio en la dinámica, durante este mismo proceso, eltamaño de la estructura puede cambiar.

2.1 Memoria estática

▪ Concepto:
Es la memoria que se asigna a una variable en tiempo de compilación, este tipo de memoria es permanente, por lo que su tamaño no puede modificarse durante la ejecución del programa.

Ejemplo: La memoria que se le asigna a las variables globales y las variables locales declaradas como estáticas, arreglos,registros, archivos, cadenas.

▪ Asignación de memoria:

La asignación de memoria estática posee las siguientes características:

- No todos los objetos (variables) pueden ser almacenados estáticamente, para esto es necesario conocer su tamaño (número de bytes necesarios para su almacenamiento) antes de la ejecución del programa.

- A partir de una posición señalada por unpuntero de referencia se aloja el objeto X, y se avanza el puntero tantos bytes como sean necesarios para almacenar el objeto X.

- En los lenguajes que permiten la existencia de subprogramas, y siempre que todos los objetos de estos subprogramas puedan almacenarse estáticamente se aloja en la memoria estática un registro de activación correspondiente a cada uno de los subprogramas.- Dentro de cada registro de activación las variables locales se organizan secuencialmente.

- Existe un solo registro de activación para cada procedimiento y por tanto no están permitidas las llamadas recursivas.

- El espacio en la memoria que ocupa una variable estática es referenciado, es decir a este espacio hay acceso a través de un nombre declarado por el programador.

▪Aplicaciones y ejemplos

- Arreglos: Un arreglo es una estructura homogénea compuesta por varios elementos, todos del mismo tipo y almacenados consecutivamente en memoria.

Un arreglo tiene dos partes: Componentes e índices

[pic]
Componentes: Hacen referencia a los elementos que forman el arreglo.
Índices: Permiten referirse a los componentes del arreglo enforma individual.

Existen varios tipos de arreglos: unidimensionales, bidimensionales, multidimensionales y arreglos de arreglos.

Los arreglos unidimensionales se utilizan en la creación de listas y para el manejo de vectores y los bidimensionales al trabajar con matrices.

▪ Ventajas: Dado que las variables están permanentemente en memoria es fácil implementar la propiedadde que conserven o no su contenido para cada nueva llamada.

▪ Desventajas: El inconveniente de la reserva estática es que la cantidad de memoria se reserva siempre antes de conocer los datos concretos del problema a resolver. Eso lleva a reservar siempre un máximo de memoria que en la mayor parte de las ocasiones no se va a necesitar. La reserva estática tampoco se adapta bien a la memoriareal disponible en el ordenador en que se está ejecutando el programa.

2.2 Memoria dinámica

▪ Concepto: La memoria dinámica es un espacio de almacenamiento que se solicita en tiempo de ejecución. De esa manera, a medida que el proceso va necesitando espacio para más líneas, va solicitando más memoria al sistema operativo para guardarlas. Es decir, el espacio que ocupa una variabledinámica es asignado y liberado según las necesidades mientras se ejecuta la función o el programa.

Ejemplos: La memoria asignada a datos estructurados dinámicos como listas, árboles, grafos.

▪ Función: La memoria dinámica sirve para que los programas se adapten siempre al tamaño del problema que tienen que resolver, sin desperdiciar recursos de memoria. Esto se traduce asimismo en una...
tracking img