Sistemas Operativos - Tema 2 - Procesos
![]() |
![]() |
![]() |
Título del Test:![]() Sistemas Operativos - Tema 2 - Procesos Descripción: Test tema 2 |




Comentarios |
---|
NO HAY REGISTROS |
Tras la ejecución del siguiente código, justo en la línea donde está la sentencia sleep(20), ¿cuántos procesos se habrán creado, contando con el proceso inicial que ejecutaba el programa principal? main() { int i, pid, otropid; pid = fork(); if (pid) pid = fork(); else otropid = fork(); sleep(20); } La respuesta tiene que ser una cifra entera, por ejemplo: 6. Un código máquina binario cargado en la memoria principal: Selecciona una: Necesariamente es una tarea. No tiene porque ser un proceso, puede ser una librería o una rutina de tratamiento de interrupción. Necesariamente es un proceso del sistema. Necesariamente ha debido ser lanzado desde un shell. ¿Como influirá un cambio de contexto en el comporatmiento de las memorias cachés? Selecciona una: No afecta en absoluto. De forma positiva, aumentando el número de aciertos. De forma negativa, disminuyendo el número de reemplazos. De forma negativa, aumentando el número de fallos. En un sistema de tiempo compartido con varios procesos ready, si uno realiza una llamada a _exit(): Aumentará el grado de multiprogramación. En ocasiones no se producirá un cambio de contexto. Se producirá un cambio de contexto. Se producirá un cambio de contexto a nivel de thread. La acción de swapping (sacar un proceso de memoria principal) es una causa: Ninguna de los anteriores. De bloqueo de un proceso. De suspensión de un proceso. De terminación de un proceso. La creación de procesos en un sistema unix se realiza por medio de la llamada a sistema: exec(). fork(). create(). spawn(). Hablando de multithreading, cuál de las siguientes afirmaciones es correcta: El multithreading es una tecnología anticuada, los SS.OO. de hoy en día casi no la soportan. Históricamente se desarrolló antes que la multiprogramación. Elimina por completo la necesidad de tener procesos, puesto que todos los programas se ejecutarán como threads. El multithreading facilita la programación con respecto a la multitarea pura (procesos de un sólo thread). Bajo el supuesto de que el sistema operativo asignara los identificadores de proceso en orden creciente a medida que los procesos se van creando, y que el número de identificadores es ilimitado, se verificaría que: PPID = PID. PPID > PID. PPID < PID. PID + PPID = 1. En un sistema con tres estados posibles para los procesos (Ejecución, Listo y Bloqueado), ¿Qué transiciones de estado son posibles para un proceso? Selecciona una o más de una: Un proceso puede pasar de ejecución a listo. Un proceso puede pasar de bloqueado a listo. Un proceso puede pasar de ejecución a bloqueado. Un proceso puede pasar de bloqueado a ejecución. Con respecto a procesos y threads (procesos ligeros): Los procesos no pueden compartir información mientras que los threads si. Los threads no pueden compartir información mientras que los procesos si. Compartir información entre procesos es más fácil que compartir información entre threads. Compartir información entre threads es más fácil que compartir información entre procesos. En los SO tipo UNIX, ¿cuándo un proceso A pasa a tener el estado "zombie"?. Cuando termina el proceso A y su padre no le hace un wait. Cuando A hace un wait a un proceso hijo justo en el instante en el que finaliza el hijo. Cuando A hace un wait a un proceso hijo que aún no ha terminado. Cuando A hace un wait a un proceso hijo que ya ha terminado. En una plataforma multiprocesador, con el término Multiprocesamiento Simétrico (SMP) hacemos referencia a un sistema operativo en el que el kernel: Sólo puede ejecutarse en un procesador en particular. Es un kernel específico para multicores heterogéneos. Sigue una estructura cliente/servidor simétrica. Puede ejecutarse en cualquier procesador indistintamente. La llamada de Posix con la que un proceso le puede enviar una señal a otro proceso es: sigsend(). kill(). signalrise(). signal(). Tiempo compartido es una técnica para: proporcionar concurrencia de procesos. solapar las operacines de E/S con la ejecución en la CPU. coordinar las llamadas a sistema (syscalls). asignar recursos HW siguiendo determinada política. La tabla primaria de procesos contiene una entrada por cada proceso, a no ser que un proceso cree a otro, en cuyo caso la tabla contendrá múltiples entradas para el proceso padre. Verdadero. Falso. Cuando un proceso crea a otro, al proceso creador lo denominamos 'proceso hijo' y al proceso que ha sido creado 'proceso padre'. Verdadero. Falso. ¿Cuál es la información que no comparten los procesos ligeros (threads) de un mismo proceso?. Identificación y estado del thread. Todas las respuestas son correctas. Espacio de pila. registros de la CPU (estado del procesador). Siempre que se produce un cambio del nivel de privilegio (usuario/núcleo) de un proceso se debe realizar un cambio de contexto. Verdadero. Falso. La principal diferencia entre el 'modelo de dos estados de los procesos' y el 'modelo de 5 estados de los procesos' es que este último divide el estado 'Running' en dos nuevos estados 'Ready' y 'Blocked'. Verdadero. Falso. Los threads a nivel de usuario: Nunca cambian de contexto. Podrán conmutar de contexto más rápidamente que los de kernel ya que no hace falta conmutar a modo kernel. Se planifican según la política del sistema operativo. Podrán disponer de un espacio de memoria más amplio que los de kernel. Respecto a la multiprogramación: Todas las respuestas son correctas. Un S.O. multiprogramado debe ser de tiempo compartido. Un S.O. de tiempo compartido debe ser multiprogramado. El tiempo compartido permite realizar multiprogramación. La transición time-out por quantum de tiempo es una acción expropiativa, que se dará: Entre los estados Running y Block. Entre los estados Blocked y Suspend. Entre los estados Running y Ready. Entre los estados Blocked y Ready. ¿Qué característica exhibe un proceso demonio (daemon)?. se ejecuta en una cola batch. carece de espacio reservado para pila. se ejecuta generalmente en segundo plano. tiene prioridad de tiempo real. El PCB (process control block) es una estructura de datos del sistema operativo que: En Linux se implementa con los objetos 'Process', para los procesos, y 'Thread', para los threads. En Windows se implementa con la estructura de datos 'task_struct', implementada en C. En Linux se implementa con el objeto 'Process', tanto para threads como para procesos. En Linux se implementa con la estructura de datos de C 'task_struct'. Cuando un thread termina, siempre debe haber otro thread del proceso que le realice un 'pthread_join'. Verdadero. Falso. Un proceso que no puede ejecutarse hasta que se produzca un cierto evento se dice que está en el estado: Ready. New. Blocked. Suspend. La conmutación (switch) entre procesos puede producirse cuando en el sistema se produce una interrupción que puede ser generada por: Todas las demás respuestas son válidas. Trap. Un fallo de memoria. Llamada al supervisor. El estado sleepping de linux corresponde a un proceso: Bloqueado. Suspendido. Runnable. Listo. Definición de proceso. Un proceso... es un programa en ejecución. es una región de memoria con el código ejecutable correspondiente a un programa. es un archivo ejecutable. es un programa de alto nivel o de usuario compilado y enlazado. Uno de los pasos requeridos para la creación de un nuevo proceso es: Inicializar el bloque de control de procesos. Asignarle un identificador único. Todas las demás respuestas son válidas. Reservar espacio de memoria para el proceso. ¿Qué función POSIX de las siguientes permite reemplazar la imagen de un proceso en memoria?. waitpid(...). posix_img_replace(...). fork(). execvp(...). El PCB (Process Control Block) se diría que es: Un mecanismo asociado a la multitarea. Una política de planificación justa. Un registro especial de la CPU. Una estructura de datos del Sistema Operativo. |