Worksheets8. Exclusion Mutua con Espera Ocupada y Dormir y Despertar
Total questions: 41
Worksheet time: 21mins
¿Qué se busca lograr con la exclusión mutua?
Deshabilitar las interrupciones del sistema
Aumentar la velocidad de los procesos
Evitar que un proceso acceda a la memoria compartida mientras otro lo está haciendo
Permitir que varios procesos accedan a la memoria compartida
¿Cuál es la solución más simple para la exclusión mutua en un sistema de un solo procesador?
Utilizar espera ocupada
Implementar el algoritmo de Peterson
Usar variables de candado
Deshabilitar las interrupciones
¿Qué ocurre si un proceso deshabilita las interrupciones y nunca las vuelve a activar?
No afectará a otros procesos
Las interrupciones se activarán automáticamente
El sistema podría colapsar
El sistema continuará funcionando normalmente
¿Qué problema se presenta al deshabilitar interrupciones en un sistema multiprocesador?
Todos los procesos se detienen
Solo afecta a la CPU que ejecutó la instrucción
Las interrupciones se desactivan en todas las CPUs
No se puede acceder a la memoria compartida
¿Qué representa un valor de 0 en la variable de candado?
Ningún proceso está en su región crítica
Un proceso está en su región crítica
El proceso ha terminado
El sistema está inactivo
¿Cuál es el problema con la solución de la variable de candado?
No es eficiente
Es muy compleja de implementar
No permite la exclusión mutua
Puede causar condiciones de carrera
¿Qué se utiliza para evitar que dos procesos entren al mismo tiempo en sus regiones críticas?
Interrupciones
Variables de candado
Esperas ocupadas
Deshabilitar el sistema
¿Qué es la espera ocupada?
Un proceso se detiene indefinidamente
Un proceso espera en un ciclo hasta que se permite la entrada
Un proceso se suspende hasta que se le permite continuar
Un proceso se ejecuta sin interrupciones
¿Qué problema puede surgir con la alternancia estricta?
No permite que los procesos se alternen
Puede causar que un proceso se bloquee por otro que no está en su región crítica
Es ineficiente
No se puede implementar en sistemas multiprocesador
¿Quién fue el primero en idear una solución de software para la exclusión mutua?
T. Dekker
Un grupo de ingenieros
G.L. Peterson
Dijkstra
¿Qué hace la instrucción TSL?
Evalúa y fija el candado
Copia el valor de la memoria
Activa el sistema
Deshabilita las interrupciones
¿Qué se necesita para utilizar la instrucción TSL?
Una variable compartida
Un sistema de un solo procesador
Un sistema sin interrupciones
Un proceso en espera
¿Qué ocurre si un proceso llama a salir_region sin haber llamado a entrar_region?
No hay efecto
El proceso se bloquea
Se pierde la exclusión mutua
El sistema se colapsa
¿Qué es el problema de inversión de prioridades?
Los procesos se ejecutan en orden aleatorio
Un proceso de alta prioridad se bloquea por uno de baja prioridad
No hay procesos en el sistema
Los procesos de baja prioridad nunca se ejecutan
¿Qué hace la llamada al sistema sleep?
Desactiva el proceso que llama
Activa el proceso que llama
Permite que el proceso continúe
Deshabilita las interrupciones
¿Qué ocurre si el productor intenta insertar un elemento en un búfer lleno?
El productor ignora el búfer
El productor se duerme
El productor sobrescribe el búfer
El productor se detiene
¿Qué se necesita para evitar condiciones de carrera en el problema del productor-consumidor?
Usar un solo proceso
No utilizar variables compartidas
Deshabilitar interrupciones
Acceso exclusivo a la variable cuenta
¿Qué se debe hacer si el consumidor intenta quitar un elemento de un búfer vacío?
El consumidor sobrescribe el búfer
El consumidor termina su ejecución
El consumidor ignora el búfer
El consumidor se duerme
¿Qué se utiliza para asociar las llamadas a sleep con las llamadas a wakeup?
Un proceso en espera
Una variable de candado
Una dirección de memoria
Un sistema de archivos
¿Qué ocurre si un productor despierta a un consumidor que no está dormido?
El consumidor se duerme de nuevo
No hay efecto
La señal se pierde
El consumidor se activa inmediatamente
¿Qué se puede hacer para evitar que se pierdan señales de despertar?
Usar un bit de espera de despertar
Deshabilitar interrupciones
Reducir el número de procesos
Aumentar el tamaño del búfer
¿Qué se necesita para implementar el algoritmo de Peterson?
Ningún proceso
Un solo proceso
Un sistema sin interrupciones
Dos procesos
¿Qué se debe hacer al salir de la región crítica en el algoritmo de Peterson?
No hacer nada
Llamar a entrar_region
Establecer la variable interesado a FALSE
Deshabilitar interrupciones
¿Qué se garantiza con la instrucción TSL?
Que no hay interrupciones
Que el sistema se colapsa
Que el proceso se detiene
Que las operaciones son indivisibles
¿Qué se debe hacer para que el método de exclusión mutua funcione correctamente?
No utilizar variables compartidas
Llamar a entrar_region y salir_region en el momento correcto
Deshabilitar todas las interrupciones
Usar un solo proceso
¿Qué se utiliza para coordinar el acceso a la memoria compartida en la solución de TSL?
Un proceso en espera
Una variable de candado
Un sistema de archivos
Una dirección de memoria
¿Qué se debe hacer si el búfer está lleno en el problema del productor-consumidor?
El productor ignora el búfer
El productor termina su ejecución
El productor se duerme
El productor sobrescribe el búfer
¿Qué se debe hacer si el búfer está vacío en el problema del productor-consumidor?
El consumidor termina su ejecución
El consumidor sobrescribe el búfer
El consumidor ignora el búfer
El consumidor se duerme
¿Qué se necesita para implementar el algoritmo de Dekker?
Una variable de candado
Dos procesos
Un solo proceso
Un sistema sin interrupciones
¿Qué se debe hacer al entrar en la región crítica en el algoritmo de Peterson?
Deshabilitar interrupciones
No hacer nada
Establecer la variable interesado a TRUE
Llamar a salir_region
¿Qué se utiliza para evitar que dos procesos accedan a la memoria compartida al mismo tiempo?
Un proceso en espera
Una dirección de memoria
Una variable de candado
Un sistema de archivos
¿Qué se debe hacer si un proceso no puede entrar en su región crítica?
Ignorar el acceso
Terminar la ejecución
Deshabilitar interrupciones
Esperar en un ciclo
¿Qué se debe hacer si un proceso está en su región crítica?
Terminar la ejecución
Deshabilitar interrupciones
Ignorar el acceso
No permitir que otros procesos accedan
¿Qué se debe hacer si un proceso termina su ejecución en su región no crítica?
Ignorar el acceso
Deshabilitar interrupciones
Regresar a la parte superior de su ciclo
Terminar la ejecución
¿Qué se debe hacer si un proceso no puede salir de su región crítica?
Esperar en un ciclo
Deshabilitar interrupciones
Terminar la ejecución
Ignorar el acceso
¿Qué se debe hacer si un proceso no puede entrar en su región crítica?
Ignorar el acceso
Esperar en un ciclo
Terminar la ejecución
Deshabilitar interrupciones
¿Qué se debe hacer si un proceso no puede acceder a la memoria compartida?
Deshabilitar interrupciones
Terminar la ejecución
Ignorar el acceso
Esperar en un ciclo
¿Qué se debe hacer si un proceso no puede acceder a la memoria compartida?
Esperar en un ciclo
Deshabilitar interrupciones
Terminar la ejecución
Ignorar el acceso
¿Qué se debe hacer si un proceso no puede acceder a la memoria compartida?
Deshabilitar interrupciones
Ignorar el acceso
Esperar en un ciclo
Terminar la ejecución
¿Qué se debe hacer si un proceso no puede acceder a la memoria compartida?
Terminar la ejecución
Deshabilitar interrupciones
Esperar en un ciclo
Ignorar el acceso
¿Qué se debe hacer si un proceso no puede acceder a la memoria compartida?
Ignorar el acceso
Terminar la ejecución
Deshabilitar interrupciones
Esperar en un ciclo
