02.08.2013 Views

Tema 3 - OCW

Tema 3 - OCW

Tema 3 - OCW

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!