obtener la mxima utilidad y provecho de una memoria informtica.
Subdivision de la memoria durante
la ejecucin Suponte que el compilador obtiene un bloque de memoria del sistema operativo para que se ejecute el programa compilado. Esta memoria para el momento de la ejecucin debe estar subdividida de modo que pueda albergar: El cdigo objeto generado, (tiene un determinado tamao en el momento de la compilacin, as que el compilador puede colocarlo estticamente en una zona, tal vez en el extremo inferior de la memoria)
Los objetos de datos y (tambin se puede conocer el
tamao de algunos de los datos en el momento de la
compilacin, y por lo tanto tambin se pueden colocar en una zona estticamente. Una razn para asignar estticamente tantos datos como sea possible es que las direcciones de dichos objetos se pueden compilar al cdigo objeto) Una contrapartida de la pila de control para registrar las activaciones de procedimientos. Un rea distinta de la memoria para el momento de la ejecucin, llamada montculo, guarda el resto de la informacin.
Cdigo Datos estticos
Pila
Montculo
Disposicin especial de los datos locales
en el momento de la compilacin Suponiendo que la memoria para la ejecucin se
obtiene en bloques de bytes contiguos, donde un byte
es la minima unidad de memoria direccionable. La cantidad de memoria necesaria para un nombre viene Tipo Bits determinada por su tipo.
Char short Int Float Double Apuntador a caracter
8 16 32 32 64 32
Estrategias para la asignacin de
memoria La asignacin esttica dispone la memoria
para todos los objetos de datos durante la
compilacin. La asignacin por medio de una pila trata la memoria en ejecucin como una pila. La asignacin por medio de un montculo asigna y desasigna la memoria conforme se necesita durante la ejecucin a partir de un area de datos conocida como montculo.
En la asignacin esttica los nombres se ligan a la
memoria durante la compilacin del programa, as que no es necesario un paquete de apoyo para la ejecucin. Como los enlaces no cambian durante la ejecucin, cada vez que se activa un procedimiento, sus nombres se enlazan a las
mismas posiciones de memoria.
La asignacin por medio de una pila se basa en la idea de una pila de control; la memoria se organiza como una pila, y los registros de activacin se introducen y se sacan cuando las activaciones comienzan y terminan, respectivamente.
La asignacin por medio de un montculo
divide partes de memoria contigua,
conforme las necesiten los registros de activacin u otros objetos. Las distintas partes se pueden desasignar en cualquier orden, de modo que con el paso del tiempo el montculo constar de areas alternas, libres y bajo utilizacin.