You are on page 1of 3

Oscar Vives Nez

Estructura de Datos

MEMORIA ESTATICA Y DINAMICA


INTRODUCCION
Tu ordenador probablemente usa ambas, memoria esttica y memoria dinmica al mismo tiempo, pero las usa por diferentes razones debido al coste entre los dos tipos de memoria RAM (ram memory). Si entiendes como los chips de RAM dinmica y RAM esttica funcionan internamente, es fcil ver porqu el coste es diferente, y tambin podrs entender su nombre. Qu es memoria? Es un espacio lgico para guardar informacin. La memoria (tambin llamada almacenamiento) se refiere a parte de los componentes que forman parte de una COMPUTADORA, Son dispositivos que retienen DATOS informticos durante algn intervalo de tiempo. Las memorias de computadora proporcionan unas de las principales funciones de la computacin moderna, la retencin o almacenamiento de informacin. Es uno de los componentes fundamentales de todas las computadoras modernas que, acoplados al CPU.

QU ES ESTTICA?
La forma ms fcil de almacenar el contenido de una variable en memoria en tiempo de ejecucin es en memoria esttica o permanente a lo largo de toda la ejecucin del programa. O sea, que no se modifica al menos en tiempo de ejecucin. No todos los objetos (variables) pueden ser almacenados estticamente. Para que un objeto pueda ser almacenado en memoria esttica su tamao (nmero de bytes necesarios para su almacenamiento) ha de ser conocido en tiempo de compilacin, como consecuencia de esta condicin no podrn almacenarse en memoria esttica: Qu es dinmica? Su tamao puede variar durante la ejecucin del programa y puede ser liberado mediante la funcin free. O sea que se modifica permanentemente.

Memoria esttica.Las tcnicas de asignacin de memoria esttica son sencillas. La asignacin de memoria puede hacerse en tiempo de compilacin y los objetos estn vigentes desde que comienza la ejecucin del programa hasta que termina. En los lenguajes que permiten la existencia de subprogramas, y siempre que todos los objetos de estos subprogramas puedan almacenarse estticamente se aloja en la memoria esttica un registro de activacin correspondiente a cada uno de los subprogramas. Estos registros de activacin contendrn las variables locales, parmetros formales y valor devuelto por la funcin. Consideraciones Error en tiempo de ejecucin de ndice fuera del rango. Se debe conocer con anticipacin el tamao de la estructura. Se guardan en memorias adyacentes.

Oscar Vives Nez

Estructura de Datos

Vectores, matrices, cubos, registros, archivos. Ventajas La velocidad de acceso es alta. Para retener los datos solo necesita estar energizada. Lgica simple. Son ms fciles de disear. Desventajas: No se puede modificar el tamao de la estructura en tiempo de ejecucion. No es ptimo con grandes cantidades de datos. Desperdicio de memoria cuando no se utiliza en su totalidad del tamao v[100] . Menor capacidad, debido a que cada celda de almacenamiento requiere ms transistores. Mayor costo por bit. Mayor consumo de Potencia

MEMORIA DINMICA
La memoria dinmica es un espacio de almacenamiento que se solicita en tiempo de ejecucin. De esa manera, a medida que el proceso va necesitando espacio para ms lneas, va solicitando ms memoria al sistema operativo para guardarlas. El medio para manejar la memoria que otorga el sistema operativo, es el puntero, puesto que no podemos saber en tiempo de compilacin dnde nos dar huecos el sistema operativo (en la memoria de nuestro PC). Un dato importante es que como tal este tipo de datos se crean y se destruyen mientras se ejecuta el programa y por lo tanto la estructura de datos se va dimensionando de forma precisa a los requerimientos del programa, evitndonos as perder datos o desperdiciar memoria si hubiramos tratado de definirla cantidad de memoria a utilizar en el momento de compilar el programa. Cuando se crea un programa en el que es necesario manejar memoria dinmica el sistema operativo divide el programa en cuatro partes que son: texto, datos (estticos), pila y una zona libre o heap. En el momento de la ejecucin habr tanto partes libres como partes asignadas al proceso por lo cual si no se liberan las partes utilizadas de la memoria y que han quedado inservibles es posible que se agote esta parte y por lo tanto la fuente de la memoria dinmica. Tam bin la pila cambia su tamao dinmicamente, pero esto no depende del programador sino del sistema operativo. VENTAJAS: Es posible disponer de un espacio de memoria arbitrario que dependa de informacin dinmica (disponible slo en ejecucin): Toda esa memoria que maneja es implementada por el programador cuando fuese necesario. Otra ventaja de la memoria dinmica es que se puede ir incrementando durante la ejecucin del programa. Esto permite, por ejemplo, trabajar con arreglos dinmicos. Es memoria que se reserva en tiempo de ejecucin. Su tamao puede variar durante la ejecucin del programa y puede ser liberado mediante la funcin free.

Oscar Vives Nez

Estructura de Datos

DESVENTAJAS: Es difcil de implementar en el desarrollo de un programa o aplicacin. Es difcil implementar estructuras de datos complejas como son los tipos recursivos (rboles, grafos, etc.).Por ello necesitamos una forma para solicitar y liberar memoria para nuevas variables que puedan ser necesarias durante la ejecucin de nuestros programas: Heap. Una desventaja de la memoria dinmica es que es ms difcil de manejar. La memoria dinmica puede afectar el rendimiento. Puesto que con la memoria esttica el tamao de las variables se conoce en tiempo de compilacin, esta informacin est incluida en el cdigo objeto generado. Cuando se reserva memoria de manera dinmica, Se tienen que llevar a cabo varias tareas, como buscar un bloque de memoria libre y almacenar la posicin y tamao de la memoria asignada, de manera que pueda ser liberada ms adelante. Todo esto representa una carga adicional, aunque esto depende de la implementacin y hay tcnicas para reducir su impacto.

Fuente:
http://adrian-estructuradedatos.blogspot.mx/2011/04/memoria-estatica-y-dinamica.html

You might also like