Tema 3 - OCW
Tema 3 - OCW
Tema 3 - OCW
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
3.9 Gestión de Memoria<br />
3.9.2 Administración de Memoria basada en Pila<br />
• Por pila nos vamos a referir a la zona de la memoria<br />
que está implicada en el uso de los procedimientos,<br />
cuyo espacio se asigna y libera, como veremos,<br />
mediante operaciones de apilar y desapilar (push y<br />
pop).<br />
• Cada vez que se activa un bloque, es decir, se invoca un procedimiento o función, se<br />
añade a la pila su registro de activación (RA) y cuando acaba su ejecución, se elimina<br />
de la pila su RA.<br />
• Por RA entendemos el conjunto de información que necesita un procedimiento para<br />
su ejecución (objetos locales y parámetros) y la dirección de la instrucción donde<br />
continuará la ejecución del programa cuando finalice el procedimiento o función.<br />
Metodología y Tecnología de la Programación<br />
<strong>Tema</strong> 3. Elementos Básicos de la Programación Imperativa<br />
3.9 Gestión de Memoria<br />
3.9.2 Administración de Memoria basada en Pila<br />
• Luego una llamada a un procedimiento P implica:<br />
1. Crear su RA<br />
2. Apilar su RA<br />
3. Transferir el control a la primera sentencia de P<br />
…y la terminación de P implica:<br />
1 Recuperar dirección de retorno (dir_ret) del RA.<br />
2 Desapilar su RA<br />
3 Transferir el control a dir_ret<br />
parám var_loc<br />
Metodología y Tecnología de la Programación<br />
<strong>Tema</strong> 3. Elementos Básicos de la Programación Imperativa<br />
Apilar Desapilar<br />
dir_ret<br />
79<br />
80<br />
40