Está en la página 1de 3

ESCUELA DE INGENIERÍA

SEMESTRE ABRIL – AGOSTO 2021

COMPILADORES

ACTIVIDAD EN CLASES N° 18
Fecha: 29-06-2021
Nombre: Alejandro Enríquez

Realizar las siguientes actividades:

Contestar las siguientes preguntas relacionadas a la gestión de memoria en tiempos de


ejecución.

✓ Dentro de la organización de memoria en el tiempo de ejecución para datos, ¿en


qué aspectos se divide básicamente?
Se divide en tres aspectos:
• Memoria estática
• La pila
• El montón (heap)

✓ ¿En qué consiste el almacenamiento estático y cuáles son sus técnicas para
ejecutar este almacenamiento?
Consiste en almacenar la información de forma permanente
Las técnicas son:
- A partir de una posición señalada por un puntero de referencia se aloja la variable
X, avanzando el puntero tanto bytes como sean necesarios para almacenarla. Desde
ese momento, el compilador sustituirá cualquier referencia a dicha variable por la
de su dirección asignada. Subsiguientes constantes o variables globales serán
acomodadas en memoria haciendo avanzar, de la misma manera, el puntero de
referencia, hasta que el compilador les asigne espacio de memoria a todas ellas.
✓ En forma rápida describa, ¿cómo es el almacenamiento en los registros en la
estructura de una pila?
Reemplazando las variables estáticas en memoria, quedando la pila reservada para
reemplazar los registros de activación de los procedimientos en ejecución, esta estructura
varía de unos lenguajes a otros, e incluso de unos compiladores a otros.

✓ Describir las fases en el procedimiento de gestión pila cuando un procedimiento


p llama a otro procedimiento q.
- Primera fase: Evalúa las expresiones de la llamada, usando su zona de variables
temporales, y su resultado de las expresiones de la llamada, se copia en la zona de
parámetros formales
- Segunda fase: Se usa la función llamado, que salva el estado de la máquina antes de
comenzar su ejecución, usando para ello la zona del registro de activación

✓ Cuando se termina la ejecución del procedimiento llamado q, describa las dos


fases del procedimiento de desalojo de su registro de activación:
- Primera fase: Se implementa con las instrucciones al final del procedimiento que
acaba de terminar en su ejecución. El procedimiento saliente(q) antes de finalizar,
se coloca el valor de retorno al principio de su registro de activación.
- Segunda fase: Se realiza tras recobrar el control que se realizó en la llamada (p), al
copiar el valor devuelto por el procedimiento llamado (q) dentro de su propio
registro de activación

✓ ¿En qué consiste el almacenamiento denominado el Montón?


El almacenamiento consiste cuando el tamaño de un objeto a colocarse es memoria varía o
puede variar en tiempo de ejecución y no es posible ubicarlo en memoria estática, y
tampoco en la pila. Entonces se usa un área de memoria de tamaño variable, que no se vea
afectada por la activación o desactivación de procedimientos.
Realizar un comentario personal sobre el funcionamiento que tiene la memoria en
tiempo de ejecución en el proceso de la de la compilación.
Creo que el funcionamiento de la memoria es de gran importancia para el uso correcto de la
información almacenada, sea estática o temporal, sea almacenamiento por pila o por
montón, de esta manera no lograríamos colapsar este espacio de memoria asignado.

También podría gustarte