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...