cuestionario del tema 5. comunicacion y sincronizacionde procesos

Anuncio
CUESTIONARIO DEL TEMA 6. COMUNICACION Y SINCRONIZACIONDE PROCESOS
1. ¿Qué es falso en relación con las tuberias (pipes)?
(a) Si el pipe está vacío, el lector se queda bloqueado hasta que algún escritor escriba en el
mismo.
(b) Las operaciones de lectura pueden tener tamaños distintos a las operaciones de escritura
(c) Dos procesos que quieren comunicarse ejecutan ambos la llamada pipe()
(d) El escritor puede escribir en el pipe aunque el lector no haya ejecutado una lectura del
mismo
2. ¿Qué es cierto acerca de los mecanismos de sincronización de procesos?
(a) Cualquier mecanismo es válido sobre cualquier plataforma
(b) El paso de mensajes no se puede utilizar para comunicar procesos que se ejecutan en un
computador con una sola CPU
(c) La espera activa es el mecanismo más inifciente en el uso de la CPU
(d) Con semáforos nunca se puede dar un interbloqueo
3. ¿De los siguientes cuál no es un requisito que deba cumplir cualquier solución al problema de la
seccción crítica?
a) Exclusión mutua
b) Alternancia estricta
c) Progreso
d) Espera acotada
4. ¿Cuál es el número máximo de procesos que puede ejecutar, sin bloquearse, una operación wait()
sobre un semáforo que se inicializó con un valor de 4? ¿Cuál es el número máximo que puede
bloquearse?
a) 4 e ilimitado
b) 5 y 4
c) 5 e ilimitado
d) 5 y 5
5. Dos procesos comparten un pipe – A lector y B escritor. En un momento determinado el pipe
contiene 78 bytes y el proceso A ejecuta
read(p[0], buffer1 36);
read(p[0], buffer2, 85)
¿Cuál de las siguientes posibilidades es cierta?
a) En buffer1 se leen los primeros 36 bytes y el segundo read queda bloqueado
b) En buffer1 se leen los primeros 36 bytes y en buffer2 los 78-36=42 bytes restantes
c) En buffer1 se leen los últimos 36 bytes y el segundo read queda bloqueado
d) En buffer1 se leen los últimos 36 bytes y en buffer2 los 78-36=42 bytes restantes
6. Se desea usar un semáforo para asegurar que el inicio de una determinada actividad del proceso
P2 comience después que finalice una actividad del proceso P1. ¿Qué primitiva de semáforo debe
usar cada proceso y cuál debe ser el valor inicial del semáforo
a) P1: signal(s); P2: wait(s); valor inicial: 0
b) P1: signal(s); P2: wait(s); valor inicial: 1
c) P1: wait(s); P2: signal(s); valor inicial: 0
d) P1: wait(s); P2: signal(s); valor inicial: 1
7. La instrucción hardware para sincronización que consiste en devolver el valor de operando
binario que se le pasa y asignarle a este operando el valor “verdadero” , se denomina
a)
b)
c)
d)
XCHG: exchange
SWAP
Test-and-Set
Load_Locked
8. La construcción en programación que podemos asimilar a un tipo abstracto de datos y que por
definición garantiza la exclusión mutua de todos sus métodos (funciones) miembro se denomina:
a) Monitor
b) Región crítica
c) Variable condicional
d) Paso de mensajes
9. Un semáforo tiene actualmente el valor 2. Si se ejecuta una operación wait() sobre él ¿qué
sucederá?
a) El proceso que ejecuta la operación se bloquea hasta que otro ejecute una operación signal()
b) Tras hacer la operación, el proceso continuará sin bloquearse
c) El proceso continuará adelante sin bloquearse y si previamente existían procesos
bloqueados a causa del semáforo, se desbloqueará uno de ellos
d) Un semáforo jamás puede tener el valor 2, si su valor inicial era 0 y se ha operado
correctamente sobre él
10. El que ciertas instrucciones se llamen atómicas significa que
a) no se pueden ejecutar concurrentemente
b) se tienen que ejecutar dentro de un monitor
c) se han de ejecutar indivisiblemente
d) no se pueden ejecutar con espera activa
11. Queremos dotar al SO de una herramienta de sincronización con disciplina lector/escritor.
¿Cuáles serán, razonablemente, sus operaciones primitivas(sus llamadas)?
a) lock(), unlock()
b) lock(), unlock_read(), unlock_write()
c) lock_read(), lock_write(), unlock()
d) lock_read(), lock_write(), unlock_read(), unlock_write()
12. ¿Qué es una condición de carrera?
a) Situación de concurrencia de varios procesos cooperativos tal que la corrección de los
resultados dependen del orden relativo de ejecución
b) Situación de concurrencia de varios procesos independientes tal que los resultados dependen
de la velocidad de ejecución de cada proceso
c) Ejecución obligada en serie de varios procesos que podrían ejecutarse concurrentemente
13. Una situación de interbloqueo se caracteriza porque
a) Se bloquean más de un proceso
b) Se bloquea un proceso que nunca se desbloquea
c) Se bloquean varios procesos que comparten un recurso común
d) Se produce una situación circular de dependencias entre varios procesos bloqueados
14. El problema clásico “productor/consumidor” NO requiere solución de concurrencia del
siguiente tipo
a) señalización
b) exclusión mutua básica
c) exclusión mutua del tipo lector/escritor
d) coordinación de acceso a varios recursos simultáneos
15. El problema clásico de concurrencia “productor/consumidor” PUEDE requerir solución de
concurrencia del siguiente tipo
a) señalización
b) exclusión mutua básica
c) exclusión mutua del tipo lector/escritor
d) coordinación de acceso a varios recursos simultáneos
16. Una señal UNIX no es exactamente un mecanismo típico de señalización en casos de
concurrencia porque:
a) carece de primitiva de espera de señal específica
b) la respuesta a una señal UNIX tiene comportamiento de interrupción software
c) no guarda memoria del número de señales recibidas
d) el programador no puede elegir la condición asociada a la señal
17. ¿Quienes pueden ser responsables del envío de señales UNIX? Poner un ejemplo en cada caso.
a) Un proceso cualquiera
b) Una excepción hardware
c) Un usuario externo
d) Todos los casos anteriores
18. ¿En qué se parece y en qué se diferencia un semáforo binario de un mutex?
19.¿En qué se parece y en qué se diferencia un semáforo binario de una variable condicional?
20. El uso de habilitación/deshabilitación de interrupciones en una CPU es un medio correcto de
resolución de problemas de exclusión mutua
a) Nunca
b) Siempre
c) Solo dentro del kernel
d) Solo dentro del kernel si la sección crítica es reducida y no presenta bloqueos
21.Una implementación del mecanismo de paso de mensajes sin buffer intermedio donde almacenar
temporalmente los mensajes enviados implica una sincronización
a) de los envios (send)
b) de las recepciones (receive)
c) de ambos (send y receive)
d) de ninguno (ni send ni receive)
22. Elige entre las siguientes, maneras alternativas de denominar la operación wait() de semáforo:
up(), down(), P(), V(), lock(), unlock(), post(), advance(), await(), EnterCS(), LeaveCS()
23. Elige entre las siguientes, maneras alternativas de denominar la operación signal() de semáforo:
up(), down(), P(), V(), lock(), unlock(), post(), advance(), await(), EnterCS(), LeaveCS()
24. ¿Qué mecanismos de comunicación soportan persistencia de datos?
a) Ficheros
b) Pipes
c) Memoria compartida
d) Paso de mensajes
Descargar