Está en la página 1de 3

1.

4 Manejo de memoria esttica

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:

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. 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

La forma ms fcil de almacenar el contenido de una variable en memoria entiempo de ejecucin es en memoria esttica o permanente a lo largo de toda laejecucin del programa.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 entiempo decompilacin, como consecuencia de esta condicin no podrn almacenarseen memoria esttica:* Los objetos correspondientes a procedimientos o funciones recursivas, ya que entiempo de compilacin no se sabe el nmero de variables que sern necesarias.* Las estructuras dinmicas de datos tales como listas, rboles, etc. ya que elnmero de elementos que las forman no es conocido hasta que el programa seejecuta.Las tcnicas de asignacin de memoria esttica son sencillas.A partir de una posicin sealada por un puntero de referencia se aloja el objeto X, yse avanza el puntero tantos bytes como sean necesarios para almacenar el objeto X.La asignacin de memoria puede hacerse en tiempo de compilacin y los objetos estnvigentes desde que comienza la ejecucin del programa hasta que termina.En los lenguajes que permiten la existencia de subprogramas, y siempre que todos losobjetos de estos subprogramas puedan almacenarse estticamente se aloja enla memoria esttica un registro de

activacin correspondiente a cada uno de lossubprogramas.Estos registros de activacin contendrn las variables locales, parmetros formales yvalor devuelto por la funcin.Dentro de cada registro de activacin las variables locales se organizansecuencialmente. Existe un solo registro de activacin para cada procedimiento y portanto no estn permitidas las llamadas recursivas. El proceso que se sigue cuando unprocedimiento p llama a otro q es el siguiente:1. p evala los parmetros de llamada, en caso de que se trate de expresionescomplejas, usando para ello una zona de memoria temporal para el almacenamientointermedio. Por ejemplos, s la llamada a q es q((3*5)+(2*2),7) las operacionesprevias a la llamada propiamente dicha en cdigo mquina han de realizarse sobrealguna zona de memoria temporal. (En algn momento debe haber unazona de memoria que contenga el valor intermedio 15, y el valor intermedio 4 parasumarlos a continuacin). En caso de utilizacin de memoria esttica stazona de temporales puede ser comn a todo el programa, ya que su tamaopuede deducirse en tiempo de compilacin.2. q inicializa sus variables y comienza su ejecucin

También podría gustarte