

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
ing en sistemas, lenguajes de la programacion 1
Tipo: Apuntes
1 / 2
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!


Valor, el dato que almacena la variable Referencia, la dirección donde está almacenada la variable Nombre, identificador en lenguaje natural
Tienen tamaño fijo. Están en una dirección fija en la pila de ejecución. Pueden resultar eficientes, ya que el acceso a las variables estáticas es directo. Otro tipo de variables necesitan algún tipo de redireccionamiento. Una desventaja de las variables estáticas es la flexibilidad reducida, ya que un lenguaje que solo soporta variables estáticas no puede proveer recursividad.
Tienen un tamaño fijo, se conoce en tiempo de compilación. Su ubicación en memoria es dinámica, se ubican en los registros de activación y ocurre en tiempo de ejecución. Se ubican debajo de las variables semi dinámicas en el registro de activación para que funcione el modelo de base + desplazamiento del Stack Pointer. Facilitan la implementación de recursion. Acceso más lento que las variables estáticas.
No se puede conocer su tamaño ni sus límites en tiempo de compilación. Su tamaño puede cambiar únicamente entre diferentes RA (invocaciones) de la unidad. Están ubicadas en el registro de activación. El elemento que define el tamaño de los arreglos (u otras estructuras) se debe ubicar al alcance de la unidad donde está el arreglo. Esto puede ser una variable global, pasarlo como parámetro o ser una variable local (no todos los compiladores permiten esto). Límites de los arreglos , se deben conocer en tiempo de ejecución siempre y cuando el lenguaje compruebe límites en tiempo de ejecución. Las variables semi - dinámicas poseen descriptores. Estos contienen los limites de las
variables y un puntero a donde comienzan sus datos en los registros de activación. Si el lenguaje comprueba limites, se necesitan los 4 limites. Sino, con 3 alcanza. Si los límites son constantes, están en el código ejecutable. Si son variables globales, sus valores son variables semi-estáticas.
Pueden cambiar de tamaño en cualquier momento. No pueden estar en la pila de ejecución ya que cambia el esquema de base + desplazamiento. Se ubican en el heap
Ubicadas en el heap. Surgieron en ALGOL. Están administradas por el lenguaje. El programador no pide memoria.
Son administradas por el programador. Los procesos de allocation y deallocation ocurren en tiempo de ejecución. Solo pueden ser referenciadas por punteros o variables referenciantes. Se almacenan en el heap. Ejemplo de código p = malloc(100) En este ejemplo participan dos variables, una variable semi estática (p), y una variable dinámica anónima que está en el heap (100).
Colección de celdas de memoria altamente desorganizadas dado su uso completamente impredecible. El heap tiende a crecer de forma descontrolada por su propia desorganización. Se encuentra dentro del espacio de memoria otorgado por el SO. Es una dirección conocida, alejada de la pila de ejecución. Nuevos RA pueden chocar con el heap y el heap puede chocar con la pila. Pueden quedar huecos (basura, garbage) #Lenguajes de Programación#