Compiladors II - 25002
Septiembre 1997
1. ¿Qué ventajas tiene la gestión de memoria dinámica implícita respecto a la explícita?
Elimina las operaciones de liberación de memoria y por lo tanto es más rápida
Evita que el programador introduzca error al liberar memoria
Permite trabajar con estructuras de datos cíclicas
Elimina la necesidad de controlar los apuntadores del programa
Ninguna de las anteriores
No contesto...
2. Al liberar un bloque de memoria en gestión de memoria explícita hay que
Fusionarlo con los nodos colindantes libres
El gestor de memoria ha de haber verificado que no es accesible desde ningún otro apuntador del programa
Marcar las páginas ocupadas por el bloque como libres
Compactar la memoria
Ninguna de las anteriores
No contesto...
3. Cuál de las siguientes afirmaciones es cierta
El método de gestión de memoria por contadores de referencia no perimite estructuras de datos cíclicas
El mark & sweep (método que marca los nodos utilizados para en un segundo paso liberar los que no esten marcados) tiene complejidad lineal respecto el número de nodos que el programa realmente utiliza
La compactación facilita el proceso de liberación de memoria
El garbage collection por copia es más lento que los otros métodos de gestión de memoria dinámica
Ninguna de las anteriores
No contesto...
4. En programación funcional se reduce la utilización de memoria mediante la recursividad en cola. ¿En qué consiste?
La recursividad en cola sólo optimiza las funciones recursivas
La recursividad en cola elimina las llamadas a funciones redundantes
En toda función recursiva se puede reducir el uso de la pila si se eliminan sus argumentos antes de llamarse a si misma
La recursividad en cola elimina las variables de una función antes de la última llamada a otra función
Ninguna de las anteriores
No contesto...
5. ¿Cuál es la representación más apropiada para realizar los primeros pasos de la optimización de expresiones?
Notación polaca (postfija)
Tuplas
Código Enhebrado (threaded code)
Árbol sintáctico abstracto
Ninguna de las anteriores
No contesto...
6. La compactación de la memoria se puede realizar
Sólo si se utiliza una gestión de memoria implícita
Sólo si se utiliza una gestión de memoria explícita
Sólo en el caso de gestionar bloques de memoria del mismo tamaño
Sólo en el caso de utilizar el método de marcar y barrer
Ninguna de las anteriores
No contesto...
Check...