SlideShare una empresa de Scribd logo
1 de 3
Descargar para leer sin conexión
NOMBRE: Andrés Dávila M.
FECHA: 02/07/2020
MATERIA: Compiladores
ACTIVIDAD EN CLASE N° 18
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?
Para datos, básicamente la memoria se divide en:
- Memoria Estática.
- La Pila.
- El Monton (Heap).
✓ ¿En qué consiste el almacenamiento estático y cuáles son sus técnicas para ejecutar este
almacenamiento?
La forma más sencilla de almacenar el contenido de una variable en memoria, en tiempo de
ejecución, es hacerlo en la memoria estática. Así, el almacenamiento de dichas variables será
permanente (durante la ejecución del programa).
Sin embargo, no todas las variables pueden almacenarse estáticamente. Para que una variable
pueda ser almacenada en memoria estática, es necesario conocer su tamaño (número de bytes
necesarios para su almacenamiento) en tiempo de compilación. Como consecuencia, aunque una
variable (u objeto) sea de ámbito global, no podrán ocupar almacenamiento estático:
- Los objetos que correspondan a procedimientos o funciones recursivas, ya que en tiempo de
compilación no se conoce el número de variables que serán necesarias.
- Las estructuras dinámicas de datos tales como listas, árboles, etc. ya que el número de elementos
que la forman no es conocido hasta que el programa se ejecuta.
Las técnicas de asignación de memoria estática que utilizan los compiladores, son sencillas. A partir
de una posición señalada por un puntero de referencia se aloja la variable X, avanzando el puntero
tantos 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.
La asignación de direcciones de memoria se hace en tiempo de compilación y las variables globales
estarán vigentes desde que comienza la ejecución del programa hasta que termina.
✓ En forma rápida describa, ¿cómo es el almacenamiento en los registros en la estructura de una
pila?
Se usa el puntero para la implementación de la estructura de datos, en la zona correspondiente al
estado de la máquina se almacena el contenido que hubiera en los registros de la máquina antes de
comenzar la ejecución del procedimiento.
✓ Describir las fases en el procedimiento de gestión pila cuando un procedimiento p llama a otro
procedimiento q.
Primera Fase
-El procedimiento que realiza la llamada (p) evalúa las expresiones de la llamada, utilizando
para ello su zona de variables temporales. Por ejemplo, en caso que desde el procedimiento
p se realice la llamada q((3*5)+(2*2),7) , el cálculo de (3*5)+(2*2) se realiza utilizando la
zona de variables temporales de p.
-El resultado de las expresiones de la llamada se copia en la zona de parámetros formales
del procedimiento que recibe la llamada (q).
-El procedimiento que realiza la llamada (p) coloca el puntero de control del procedimiento
al que llama(q) de forma que apunte al actual final de la pila (TOS), tras lo cual y transfiere
el control al procedimiento al que llama (q).
Segunda Fase
El procedimiento llamado (q) salva el estado de la máquina antes de comenzar su ejecución,
usando para ello la zona correspondiente de su registro de activación.
- El receptor de la llamada (q) inicializa sus variables y comienza su ejecución.
- ...... ( ejecución de q ) ......
✓ 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
-El procedimiento saliente (q) antes de finalizar su ejecución coloca el valor de retorno al
principio de su registro de activación.
- Usando la información contenida en su registro el procedimiento que finaliza (q)
restaura el estado de la máquina y coloca el puntero de final de pila (TOS) en la posición
en la que estaba originalmente.
Segunda Fase
-El procedimiento que realizó la llamada (p) copia el valor devuelto por el procedimiento
llamado (q) dentro de su propio registro de activación (de p).
✓ ¿En qué consiste el almacenamiento denominado el Montón?
Cuando el tamaño de un objeto a colocar en memoria puede variar en tiempo de ejecución, no es
posible ubicarlo en memoria estática, ni siquiera en la pila. Ejemplos de este tipo de objetos son: las
listas, los árboles, etc. Para manejar este tipo de objetos el compilador debe disponer de un área de
memoria de tamaño variable, que no se vea afectada por la activación o desactivación de
procedimientos. Esta área de memoria se llama montón (traducción literal del termino ingles heap
que habitualmente se utiliza en la literatura técnica).
Sin embargo, la descripción del montón excede el objetivo del presente curso.
Cuando un programa se ejecuta sobre un sistema operativo existe un proceso previo llamado
cargador que suministra al programa un bloque contiguo de memoria sobre el cual ha de
ejecutarse. El programa resultante de la compilación debe organizarse de forma que haga uso de
este bloque. Para ello el compilador incorpora al programa objeto el código necesario.

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

Arquitectura en pipeline
Arquitectura en pipelineArquitectura en pipeline
Arquitectura en pipeline
 
Procesadores Vectoriales
Procesadores VectorialesProcesadores Vectoriales
Procesadores Vectoriales
 
Resumen del articulo sobre retardo y perdida de paquetes en Internet
Resumen del articulo sobre retardo y perdida de paquetes en InternetResumen del articulo sobre retardo y perdida de paquetes en Internet
Resumen del articulo sobre retardo y perdida de paquetes en Internet
 
arquitectura pipeline
arquitectura pipelinearquitectura pipeline
arquitectura pipeline
 
Medida de balance de carga escalable para SPMD
Medida de balance  de carga escalable para SPMDMedida de balance  de carga escalable para SPMD
Medida de balance de carga escalable para SPMD
 
Conjunto de 35 instrucciones
Conjunto de 35 instruccionesConjunto de 35 instrucciones
Conjunto de 35 instrucciones
 
6 pipeline
6 pipeline6 pipeline
6 pipeline
 
Métodos Heurísticos
Métodos HeurísticosMétodos Heurísticos
Métodos Heurísticos
 
Picprimerospasos
PicprimerospasosPicprimerospasos
Picprimerospasos
 
Introduccion Algoritmos Multihilo
Introduccion Algoritmos MultihiloIntroduccion Algoritmos Multihilo
Introduccion Algoritmos Multihilo
 
Analisis de Algoritmos Multihilo
Analisis de Algoritmos MultihiloAnalisis de Algoritmos Multihilo
Analisis de Algoritmos Multihilo
 
Programacion con cargas finitas e infinitas
Programacion con cargas finitas e infinitasProgramacion con cargas finitas e infinitas
Programacion con cargas finitas e infinitas
 
Control digital
Control digitalControl digital
Control digital
 
minds 3
minds 3minds 3
minds 3
 
Las instrucciones del ensamblador
Las instrucciones del ensambladorLas instrucciones del ensamblador
Las instrucciones del ensamblador
 
Capitulo7
Capitulo7Capitulo7
Capitulo7
 
Wip Y Conwip Frente A Push & Pull
Wip Y Conwip Frente A Push & PullWip Y Conwip Frente A Push & Pull
Wip Y Conwip Frente A Push & Pull
 
Paralela9
Paralela9Paralela9
Paralela9
 
FUNDAMENTALS: Copias de seguridad y registro de transacciones
FUNDAMENTALS: Copias de seguridad y registro de transacciones FUNDAMENTALS: Copias de seguridad y registro de transacciones
FUNDAMENTALS: Copias de seguridad y registro de transacciones
 

Similar a Gestion de memoria en tiempo de ejecucion

Similar a Gestion de memoria en tiempo de ejecucion (20)

GESTION DE MEMORIA
GESTION DE MEMORIAGESTION DE MEMORIA
GESTION DE MEMORIA
 
Apuntes02ele
Apuntes02eleApuntes02ele
Apuntes02ele
 
Procesos
ProcesosProcesos
Procesos
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Coordinacion Y Sincronizacion De Procesos
Coordinacion  Y  Sincronizacion  De  ProcesosCoordinacion  Y  Sincronizacion  De  Procesos
Coordinacion Y Sincronizacion De Procesos
 
Tc2 paso3
Tc2 paso3Tc2 paso3
Tc2 paso3
 
Estados de un proceso
Estados de un procesoEstados de un proceso
Estados de un proceso
 
Procesos
ProcesosProcesos
Procesos
 
Memoria dinamica
Memoria dinamicaMemoria dinamica
Memoria dinamica
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
TALLER DE TECNOLOGIA GRUPO 6, SEGUNDO PERIODO 10-2..docx.pdf
TALLER DE TECNOLOGIA GRUPO 6, SEGUNDO PERIODO 10-2..docx.pdfTALLER DE TECNOLOGIA GRUPO 6, SEGUNDO PERIODO 10-2..docx.pdf
TALLER DE TECNOLOGIA GRUPO 6, SEGUNDO PERIODO 10-2..docx.pdf
 
TALLER DE TECNOLOGIA GRUPO 6, SEGUNDO PERIODO 10-2..docx.pdf
TALLER DE TECNOLOGIA GRUPO 6, SEGUNDO PERIODO 10-2..docx.pdfTALLER DE TECNOLOGIA GRUPO 6, SEGUNDO PERIODO 10-2..docx.pdf
TALLER DE TECNOLOGIA GRUPO 6, SEGUNDO PERIODO 10-2..docx.pdf
 
Estructuras basicas
Estructuras basicasEstructuras basicas
Estructuras basicas
 
semana 1.pdf
semana 1.pdfsemana 1.pdf
semana 1.pdf
 
Diseño fisico
Diseño fisicoDiseño fisico
Diseño fisico
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De Procesos
 
S Incronizacion De Procesos
S Incronizacion De ProcesosS Incronizacion De Procesos
S Incronizacion De Procesos
 
Comparto '00000' contigo
Comparto '00000' contigoComparto '00000' contigo
Comparto '00000' contigo
 
Unidad2
Unidad2Unidad2
Unidad2
 
Castaño y navarro
Castaño y navarroCastaño y navarro
Castaño y navarro
 

Más de AndresDvila

Manual de instalacion vegas
Manual de instalacion vegasManual de instalacion vegas
Manual de instalacion vegasAndresDvila
 
Segmentacion de imagenes
Segmentacion de imagenesSegmentacion de imagenes
Segmentacion de imagenesAndresDvila
 
Practica 20 mat lab
Practica 20 mat labPractica 20 mat lab
Practica 20 mat labAndresDvila
 
Practica 7 mat lab
Practica 7 mat labPractica 7 mat lab
Practica 7 mat labAndresDvila
 
Matlab practica 6
Matlab practica 6Matlab practica 6
Matlab practica 6AndresDvila
 
Mat lab practica 5
Mat lab practica 5Mat lab practica 5
Mat lab practica 5AndresDvila
 
Mat lab practica 14
Mat lab practica 14Mat lab practica 14
Mat lab practica 14AndresDvila
 
Mat lab practica 3
Mat lab practica 3Mat lab practica 3
Mat lab practica 3AndresDvila
 
Actividad dos y tres
Actividad dos y tresActividad dos y tres
Actividad dos y tresAndresDvila
 
Instalacion mat lab
Instalacion mat labInstalacion mat lab
Instalacion mat labAndresDvila
 
Luz y espectro electromagnetico
Luz y espectro electromagneticoLuz y espectro electromagnetico
Luz y espectro electromagneticoAndresDvila
 
Fundamentos de la teoria del color
Fundamentos de la teoria del colorFundamentos de la teoria del color
Fundamentos de la teoria del colorAndresDvila
 
Teoria del color
Teoria del colorTeoria del color
Teoria del colorAndresDvila
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regularesAndresDvila
 
Taller 26 gramatica independientes de contexto
Taller 26 gramatica independientes de contextoTaller 26 gramatica independientes de contexto
Taller 26 gramatica independientes de contextoAndresDvila
 
Gramatica independiente de contexto
Gramatica independiente de contextoGramatica independiente de contexto
Gramatica independiente de contextoAndresDvila
 
Informe interprete sencillo irony y c sharp
Informe interprete sencillo irony y c sharpInforme interprete sencillo irony y c sharp
Informe interprete sencillo irony y c sharpAndresDvila
 
Interprete sencillo utilizando irony y c sharp
Interprete sencillo utilizando irony y c sharpInterprete sencillo utilizando irony y c sharp
Interprete sencillo utilizando irony y c sharpAndresDvila
 

Más de AndresDvila (20)

Manual de instalacion vegas
Manual de instalacion vegasManual de instalacion vegas
Manual de instalacion vegas
 
Segmentacion de imagenes
Segmentacion de imagenesSegmentacion de imagenes
Segmentacion de imagenes
 
Practica 20 mat lab
Practica 20 mat labPractica 20 mat lab
Practica 20 mat lab
 
Practica 7 mat lab
Practica 7 mat labPractica 7 mat lab
Practica 7 mat lab
 
Matlab practica 6
Matlab practica 6Matlab practica 6
Matlab practica 6
 
Mat lab practica 5
Mat lab practica 5Mat lab practica 5
Mat lab practica 5
 
Mat lab practica 14
Mat lab practica 14Mat lab practica 14
Mat lab practica 14
 
Mat lab practica 3
Mat lab practica 3Mat lab practica 3
Mat lab practica 3
 
Actividad dos y tres
Actividad dos y tresActividad dos y tres
Actividad dos y tres
 
Instalacion mat lab
Instalacion mat labInstalacion mat lab
Instalacion mat lab
 
Luz y espectro electromagnetico
Luz y espectro electromagneticoLuz y espectro electromagnetico
Luz y espectro electromagnetico
 
Fundamentos de la teoria del color
Fundamentos de la teoria del colorFundamentos de la teoria del color
Fundamentos de la teoria del color
 
Teoria del color
Teoria del colorTeoria del color
Teoria del color
 
Expresiones regulares
Expresiones regularesExpresiones regulares
Expresiones regulares
 
Taller 26 gramatica independientes de contexto
Taller 26 gramatica independientes de contextoTaller 26 gramatica independientes de contexto
Taller 26 gramatica independientes de contexto
 
Gramatica independiente de contexto
Gramatica independiente de contextoGramatica independiente de contexto
Gramatica independiente de contexto
 
Informe interprete sencillo irony y c sharp
Informe interprete sencillo irony y c sharpInforme interprete sencillo irony y c sharp
Informe interprete sencillo irony y c sharp
 
Interprete sencillo utilizando irony y c sharp
Interprete sencillo utilizando irony y c sharpInterprete sencillo utilizando irony y c sharp
Interprete sencillo utilizando irony y c sharp
 
Gold parser
Gold parserGold parser
Gold parser
 
Flex y bison
Flex y bisonFlex y bison
Flex y bison
 

Último

CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALKATHIAMILAGRITOSSANC
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfannavarrom
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxJuanPablo452634
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxMarcelaArancibiaRojo
 
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...RichardRivas28
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptCRISTOFERSERGIOCANAL
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7luisanthonycarrascos
 
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...wvernetlopez
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfyoseka196
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAJAMESDIAZ55
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdfvictoralejandroayala2
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilDissneredwinPaivahua
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxEduardoSnchezHernnde5
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASfranzEmersonMAMANIOC
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptMarianoSanchez70
 

Último (20)

CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONALCHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
CHARLA DE INDUCCIÓN SEGURIDAD Y SALUD OCUPACIONAL
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptxProcesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
Procesos-de-la-Industria-Alimentaria-Envasado-en-la-Produccion-de-Alimentos.pptx
 
hitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docxhitos del desarrollo psicomotor en niños.docx
hitos del desarrollo psicomotor en niños.docx
 
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...Rendimiento-de-Maquinaria y precios unitarios  para la construcción de una ma...
Rendimiento-de-Maquinaria y precios unitarios para la construcción de una ma...
 
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.pptaCARGA y FUERZA UNI 19 marzo 2024-22.ppt
aCARGA y FUERZA UNI 19 marzo 2024-22.ppt
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7sistema de construcción Drywall semana 7
sistema de construcción Drywall semana 7
 
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
Ingeniería de Tránsito. Proyecto Geométrico de calles y carreteras, es el pro...
 
Calavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdfCalavera calculo de estructuras de cimentacion.pdf
Calavera calculo de estructuras de cimentacion.pdf
 
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESAIPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
IPERC Y ATS - SEGURIDAD INDUSTRIAL PARA TODA EMPRESA
 
tema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdftema05 estabilidad en barras mecanicas.pdf
tema05 estabilidad en barras mecanicas.pdf
 
CLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civilCLASE - 01 de construcción 1 ingeniería civil
CLASE - 01 de construcción 1 ingeniería civil
 
Flujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptxFlujo multifásico en tuberias de ex.pptx
Flujo multifásico en tuberias de ex.pptx
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIASTEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
TEXTURA Y DETERMINACION DE ROCAS SEDIMENTARIAS
 
Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.pptARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
ARBOL DE CAUSAS ANA INVESTIGACION DE ACC.ppt
 
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdfVALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
VALORIZACION Y LIQUIDACION MIGUEL SALINAS.pdf
 

Gestion de memoria en tiempo de ejecucion

  • 1. NOMBRE: Andrés Dávila M. FECHA: 02/07/2020 MATERIA: Compiladores ACTIVIDAD EN CLASE N° 18 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? Para datos, básicamente la memoria se divide en: - Memoria Estática. - La Pila. - El Monton (Heap). ✓ ¿En qué consiste el almacenamiento estático y cuáles son sus técnicas para ejecutar este almacenamiento? La forma más sencilla de almacenar el contenido de una variable en memoria, en tiempo de ejecución, es hacerlo en la memoria estática. Así, el almacenamiento de dichas variables será permanente (durante la ejecución del programa). Sin embargo, no todas las variables pueden almacenarse estáticamente. Para que una variable pueda ser almacenada en memoria estática, es necesario conocer su tamaño (número de bytes necesarios para su almacenamiento) en tiempo de compilación. Como consecuencia, aunque una variable (u objeto) sea de ámbito global, no podrán ocupar almacenamiento estático: - Los objetos que correspondan a procedimientos o funciones recursivas, ya que en tiempo de compilación no se conoce el número de variables que serán necesarias. - Las estructuras dinámicas de datos tales como listas, árboles, etc. ya que el número de elementos que la forman no es conocido hasta que el programa se ejecuta. Las técnicas de asignación de memoria estática que utilizan los compiladores, son sencillas. A partir de una posición señalada por un puntero de referencia se aloja la variable X, avanzando el puntero tantos 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. La asignación de direcciones de memoria se hace en tiempo de compilación y las variables globales estarán vigentes desde que comienza la ejecución del programa hasta que termina.
  • 2. ✓ En forma rápida describa, ¿cómo es el almacenamiento en los registros en la estructura de una pila? Se usa el puntero para la implementación de la estructura de datos, en la zona correspondiente al estado de la máquina se almacena el contenido que hubiera en los registros de la máquina antes de comenzar la ejecución del procedimiento. ✓ Describir las fases en el procedimiento de gestión pila cuando un procedimiento p llama a otro procedimiento q. Primera Fase -El procedimiento que realiza la llamada (p) evalúa las expresiones de la llamada, utilizando para ello su zona de variables temporales. Por ejemplo, en caso que desde el procedimiento p se realice la llamada q((3*5)+(2*2),7) , el cálculo de (3*5)+(2*2) se realiza utilizando la zona de variables temporales de p. -El resultado de las expresiones de la llamada se copia en la zona de parámetros formales del procedimiento que recibe la llamada (q). -El procedimiento que realiza la llamada (p) coloca el puntero de control del procedimiento al que llama(q) de forma que apunte al actual final de la pila (TOS), tras lo cual y transfiere el control al procedimiento al que llama (q). Segunda Fase El procedimiento llamado (q) salva el estado de la máquina antes de comenzar su ejecución, usando para ello la zona correspondiente de su registro de activación. - El receptor de la llamada (q) inicializa sus variables y comienza su ejecución. - ...... ( ejecución de q ) ...... ✓ 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 -El procedimiento saliente (q) antes de finalizar su ejecución coloca el valor de retorno al principio de su registro de activación.
  • 3. - Usando la información contenida en su registro el procedimiento que finaliza (q) restaura el estado de la máquina y coloca el puntero de final de pila (TOS) en la posición en la que estaba originalmente. Segunda Fase -El procedimiento que realizó la llamada (p) copia el valor devuelto por el procedimiento llamado (q) dentro de su propio registro de activación (de p). ✓ ¿En qué consiste el almacenamiento denominado el Montón? Cuando el tamaño de un objeto a colocar en memoria puede variar en tiempo de ejecución, no es posible ubicarlo en memoria estática, ni siquiera en la pila. Ejemplos de este tipo de objetos son: las listas, los árboles, etc. Para manejar este tipo de objetos el compilador debe disponer de un área de memoria de tamaño variable, que no se vea afectada por la activación o desactivación de procedimientos. Esta área de memoria se llama montón (traducción literal del termino ingles heap que habitualmente se utiliza en la literatura técnica). Sin embargo, la descripción del montón excede el objetivo del presente curso. Cuando un programa se ejecuta sobre un sistema operativo existe un proceso previo llamado cargador que suministra al programa un bloque contiguo de memoria sobre el cual ha de ejecutarse. El programa resultante de la compilación debe organizarse de forma que haga uso de este bloque. Para ello el compilador incorpora al programa objeto el código necesario.