option
Mi Daypo

Prácticas 3 y 4 - Procesos y Shell Sistemas Operativos

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del test:
Prácticas 3 y 4 - Procesos y Shell Sistemas Operativos

Descripción:
Universidad de Málaga

Autor:
anabeja
(Otros tests del mismo autor)

Fecha de Creación:
07/06/2022

Categoría:
Informática

Número preguntas: 15
Comparte el test:
Facebook
Twitter
Whatsapp
Comparte el test:
Facebook
Twitter
Whatsapp
Últimos Comentarios
No hay ningún comentario sobre este test.
Temario:
Considérese el siguiente fragmento de código C ejecutado por un proceso en un sistema tipo UNIX al que denominaremos padre: ... mypid1=fork(); mypid2=fork(); ... Si el primer fork() se ejecuta sin errores, entonces la variable mypid1: Selecciona una: tomará el valor -1 para el proceso padre tomará el valor -1 para el proceso hijo tomará el valor 0 para el proceso padre tomará el valor 0 para el proceso hijo.
¿Qué proceso lidera un grupo de procesos de terminal? Selecciona una: Aquel cuyo pid coincida con el identificador del grupo Aquel que se ejecute a mayor velocidad Aquel cuyo padre tenga mayor prioridad (nice) Aquel que llegó primero al grupo.
Cuando en nuestro shell ejecutamos: > cat & Selecciona una: El proceso creado para la ejecución del cat finalizará de forma abrupta Como hemos lanzado a ejecutar cat en segundo plano e intenta leer del terminal, se suspende Cat comienza a ejecutarse en primer plano Cat obtiene el terminal, ya que lo utiliza como entrada estándar.
¿Por qué bloqueamos la señal SIGCHLD al modificar la lista de jobs de un shell? Selecciona una: Porque la lista no suele ser una variable compartida Porque así lo define el estándar POSIX Porque la señal es una acción asíncrona que puede modificar a su vez la lista Porque la lista suele estar ubicada en la pila del programa (stack).
Cuando se pulsa la combinación de teclas Control+C se envía una señal para detener todos los procesos del grupo de procesos en primer plano. ¿Quién envía esta señal SIGINT? Selecciona una: El líder de la sesión al que pertenece el terminal El shell El proceso en ejecución dentro del grupo de procesos de primer plano El driver del terminal.
¿Cuál de las siguientes llamadas a la función waitpid no bloquea al proceso llamante? Selecciona una: wpid = waitpid(pid, &status, WNONBLOCKING); wpid = waitpid(pid, &status, WUNTRACED); wpid = waitpid(pid, &status, 0); wpid = waitpid(pid, &status, WUNTRACED|WNOHANG);.
La acción sigprocmask(SIG_BLOCK, ...) sobre una señal... Selecciona una: ... restablece el comportamiento por defecto de la señal SIGBLOCK ... bloquea la señal, de manera que cuando llega queda pendiente ... bloquea el proceso cuando recibe la señal en cuestión ... provoca que se ignore dicha señal.
¿Cómo se hace en POSIX para que un proceso cree otro proceso que ejecute otro programa? Selecciona una: Se invoca el servicio fork y después al exec Se invoca al servicio fork Se invoca al servicio Se invoca al servicio exec.
En el código de un shell con control de procesos encontramos que las siguientes sentencias de código se ejecutan tanto en el shell como en los hijos individuales: ... setpgid (pid, pgid); if(foreground) tcsetpgrp (shell_terminal, pgid); ... Ello es debido: Selecciona una: A que no se está utilizando un planificador de tiempo compartido A que el shell tiene mayor prioridad de planificación A que el proceso padre debe recuperar el terminal siempre que un hijo termine A las posibles condiciones de carrera causadas por la concurrencia entre procesos.
En un sistema operativo conforme a la norma POSIX, ¿cuándo pasa un proceso a estado zombie? Selecciona una: Cuando termina antes que su proceso padre, pero su padre no hace un wait Cuando su proceso padre termina antes que él Cuando su hijo muera después de él Cuando no termina nunca su ejecución.
En el contexto de un sistema Unix, ¿qué pareja de términos, relacionados con el estado de un job, no encajan? Selecciona una: SLEEP- SUSPEND STOPPED - SUSPENDED RUNNING - RUNNABLE BLOCK - SLEEP.
En lenguaje C, se quiere replicar una cadena "cmd" que contiene un comando, ¿qué opciones de las siguientes son correctas? Selecciona una o más de una: char copia[256]; copia = strdup(cmd); char *copia; copia = strdup(cmd); char copia[256]; strcpy(copia, cmd); char *copia[256]; strcpy(copia, cmd); char *copia; strcpy(copia, cmd);.
Considérese el siguiente fragmento de código C, donde "ls" corresponde con el nombre de un ejecutable correcto, accesible desde el path y que podemos lanzar sin errores: execlp("ls", "ls", NULL); execlp("ls", "ls", NULL); ¿Qué podemos decir que hacen estas llamadas?: Selecciona una: Ambas intentan ejecutar el ejecutable "ls" sin argumento alguno Ambas intentan listar el directorio /dev/null Una de ellas intenta ejecutar el comando ls y la otra recoger el resultado Ambas intentan crear un enlace simbólico desde /bin/ls a /dev/null.
Considérese el siguiente fragmento de código C, donde "ls" corresponde con el nombre de un ejecutable correcto, accesible desde el path y que podemos lanzar sin errores: execlp("ls", "ls", NULL); execlp("ls", "ls", NULL); Si un programa ejecuta el fragmento de código anterior, ¿cuántas veces en total se ejecutaría el comando "ls"?: Selecciona una: 2 veces 3 veces 1 vez 4 veces.
¿Cuáles de las siguientes se consideran "señales de terminal" ignoradas por el proceso shell? Selecciona una o más de una: SIGINT SIGTTOU SIGTSTP SIGCHLD SIGTTIN SIGCONT SIGABRT.
Denunciar test Condiciones de uso
INICIO
CREAR TEST
COMENTARIOS
ESTADÍSTICAS
RÉCORDS
Otros tests del Autor