Test
Cuaderno 1
Crea una cuenta gratis para terminar este test
Guarda tu progreso y consulta tu resultado final.
¿Ya tienes cuenta? Inicia sesión
Preguntas del test (12)
1GDB recibe como entrada:
- Aa. No recibe ningún argumento de entrada.
- Bb. Un fichero Makefile.
- Cc. Un fichero de código ejecutable.
- Dd. Un fichero de código fuente.
2En una ejecución normal del nanokernel proporcionado, ¿Quién descarga los driver (dlclose)?
- Aa. Ninguna de las anteriores
- Bb. El propio nanokernel
- Cc. El usuario, mediante una llamada al sistema
- Dd. El último dispositivo que lo utilice
3El tratamiento de la interrupción de reloj está en:
- Aa. En modo usuario, en una llamada al sistema
- Bb. Ninguna es cierta
- Cc. En el nanokernel
- Dd. En un driver en el nanokernel
4¿Cuál de los siguientes flags de GCC se necesita para la generación de bibliotecas dinámicas?
- Aa. -g
- Bb. -rv
- Cc. -fPIC
- Dd. -Wall
5El comando ar sirve para:
- Aa. Generar una biblioteca estática a partir de un código objeto
- Bb. Comprobar qué bibliotecas dinámicas utiliza un programa
- Cc. Generar una biblioteca dinámica a partir de un código objeto
- Dd. Compilar el código fuente de una biblioteca cualquiera
6En el nanokernel estudiado, ¿Cuál de las siguientes afirmaciones es cierta?
- Aa. Los módulos init y lc operan a nivel de usuario
- Bb. En el driver de la tarjeta de red hay que capturar la interrupción hardware de red simulada
- Cc. El resto de opciones son falsas.
- Dd. Los módulos nic_drv y lc operan a nivel de kernel
7¿Cuál de los siguientes pasos le proporcionará información de depuración a las herramientas GDB y valgrind?
- Aa. Compilar el código fuente con la opción -g
- Bb. No se puede depurar un mismo código fuente con GDB y Valgrind
- Cc. Compilar el código fuente con la opción -S, siempre que se utilice primero con Valgrind
- Dd. Asegurarse de ejecutar el comando ldd sobre el ejecutable antes de depurar
8Mediante la herramienta valgrind, podrá detectar:
- Aa. Fugas de memoria
- Bb. Accesos inválidos a memoria
- Cc. Uso incorrecto de variables sin inicializar
- Dd. Todas son correctas
9Suponga que quiere imprimir una variable local con GDB siempre que esta cambie. Utilizará:
- Aa. Los comandos break, print y continue.
- Bb. El comando list.
- Cc. Los comandos break, step y continue.
- Dd. Los comandos break, watch y continue.
10Como ventaja de utilizar bibliotecas dinámicas tenemos que:
- Aa. Los ejecutables tendrán un tamaño más reducido.
- Bb. Todas son correctas.
- Cc. Se pueden compartir entre varias aplicaciones que se encuentren en memoria.
- Dd. Si cambia la biblioteca (pero no la interfaz) no habrá que volver a compilar los ejecutables que la utilicen.
11¿Qué ventaja tiene Valgrind respecto a depurar mediante impresiones por pantalla (printf)?
- Aa. Ninguna de las respuestas es correcta.
- Bb. Es más sencillo de utilizar.
- Cc. Permite depurar mediante el uso de puntos de ruptura.
- Dd. Aunque es necesario recompilar el programa, permite depurar paso a paso.
12Dada la siguiente traza:
==17781== Invalid read of size 4
==17781== at 0x4007EF: function2 (valgrind_test.c:41)
==17781== by 0x400AD0: main (valgrind_test.c:97)
==17781== Address 0x51fd148 is 0 bytes after a block of size 40 free'd
==17781== at 0x4C2BDEC: free (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==17781== by 0x4007DA: function2 (valgrind_test.c:40)
==17781== by 0x400AD0: main (valgrind_test.c:97)
¿Cuál de las siguientes afirmaciones es correcta?- Aa. Este error se produce al intentar leer un valor de una variable no inicializada
- Bb. Se ha producido al asignar un valor a una posición de un array
- Cc. El error se produce por intentar escribir un dato de tipo double
- Dd. Se ha producido al intentar hacer una lectura sobre un array en una posición fuera de rango
Información
- Descripción
- DSO Test sobre Cuaderno 1, creado por Juan Abascal el 23/05/2017.
- Autor
- Juan Abascal
- Idioma
- Español
- Visitas
- 8
- Etiquetas
- Valoración
- Aún sin valoraciones Valora este test