Asignación estática de memoria.
consiste en el proceso de asignar memoria en tiempo de compilación antes de que el programa asociado sea ejecutado, a diferencia de la asignación dinámica o la automática donde la memoria se asigna a medida que se necesita en tiempo de ejecución.
Una aplicación de esta técnica conlleva que un modulo de programa (ejemplo función o subrutina) declara datos estáticos de forma local, deforma que estos datos son inaccesibles desde otros módulos a menos que se les pasen referenciados como parámetros o que les sean devueltos por la función. Se mantiene una copia simple de los datos estáticos, accesible a través de llamadas a la función en la cual han sido declarados.
El uso de variables estáticas dentro de una clase en la programación orientada a objetos permite que una copia individual de tales datos se comparta entre todos los objetos de esa clase.
Asignación automática de memoria.
Son variables locales a un bloque de sentencias (subrutina, función o procedimiento). Pueden ser asignadas automáticamente en la pila de datos cuando se entra en el bloque de código. Cuando se sale del bloque, las variables son automáticamente desasignadas. Las variables automáticas tendrán un valor sin definir cuando son declaradas, por tanto es buena practica de programación inicializarlas con un valor válido antes de usarlas.
Asignación dinámica de memoria.
En ciencia de la computación, asignación dinámica de la memoria es la asignación de almacenamiento de memoria para utilización por parte de un programa de computador durante el tiempo de ejecución de ese programa. Es una manera de distribuir la propiedad de recursos de memoria limitada entre muchas piezas de código y datos. Un objeto asignado dinamicamente permanece asignado hasta que es desasignado explicitamente, o por el programador o por un recolector de basura; esto es notablemente diferente de la asignación automática de memoria y de la asignación estática de memoria (la de las variables estáticas). Se dice que tal objeto tiene tiempo de vida dinámica.
Asignación de bloques de tamaño fijo.
Una solución es tener una lista enlazada LIFO de bloques de memoria de tamaño fijo. esto funciona bien para sistemas empotrados simples.
No hay comentarios:
Publicar un comentario