Memoria dinámica: Estructura y generación de código compiladores

Páginas: 2 (369 palabras) Publicado: 7 de abril de 2014
Memoria dinámica: Estructura y generación de código
La memoria dinámica se maneja mediante:
Stack (100 % compilador)
Heap (sólo se manda llamar S.O. (colector de basura))
El stack ésta se creaen el momento de compilar el programa, un espacio de memoria de tipo pila o stack. Este espacio se crea en el momento de invocar o ejecutar un módulo de subrutina, ´procedimiento o método y sedestruye en el momento que deja de ejecutarse el módulo.
Al bloque que se forma se le llama frame o registro de activación y contiene:
Parámetros función
Variables locales
Variables de trabajo otemporales
Estado del procesador antes de llamarse y ejecutarse la función, programa counter y registros trabajo.
Apuntador de control al cual apunta el programa que lo invoca.
Su estructura es :

Seanidan asi:



Ejemplo de generación de código del stack de una función

Call calcula(a,b)
.
.
.
.
.

Push a //parametros
Push b
Push bp /apuntador de control
Push pc//direccion y estado de retorno
Push registros trabajo//
Int calcula(x,y)
Int g;
Int h;
Char buffer[10];
Return
Push g
Push h
Push buffer
Pop nx



Memoria heap:
En este tipo de manejo dememoria en en el momento de ejecución se le solicita al sistema operativo espacio de trabajo.

Colector de basura

El colector de basura es el programa de sistema operativo que administra lamemoria heap, comúnmente es memoria paginada que se ocupa y libera sobre demanda.



Conceptos importantes:
Buffer overflow: es cuando en el momento de la ejecución no existe código que verifique queel tamaño de los datos que está entrando no sea mayor al espacio asignado por el apuntador.
Al llenar con más datos la variable asignada con valor fijo se invaden las localidades de memoriaadyacentes causando que se escriba información no deseada en otras localidades de memoria.
Esta característica se usa para tomar control del sistema utilizando instrucciones en el sobrellenado de memoria....
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Generacion de codigo intermedio (compilador)
  • Estructura de un compilador
  • Memoria dinámica
  • Generacion de codigo
  • Generación de código
  • Memoria Dinamica
  • Memoria dinamica
  • Memoria dinamica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS