Sistemas Operativos | Gestión de Procesos | Pregunta 6 – Part 2

Tres procesos simultáneos X, Y y Z ejecutan tres segmentos de código diferentes que acceden y actualizan ciertas variables compartidas. El proceso X ejecuta la operación P (es decir, espera) en los semáforos a, b y c; el proceso Y ejecuta la operación P en los semáforos b, c y d; el proceso Z ejecuta la operación P en los semáforos c, d y a antes de ingresar los segmentos de código respectivos. Después de completar la ejecución de su segmento de código, cada proceso invoca la operación V (es decir, la señal) en sus tres semáforos. Todos los semáforos son semáforos binarios inicializados a uno. ¿Cuál de los siguientes representa un orden sin puntos muertos de invocación de las operaciones P por parte de los procesos? (GATE CS 2013)
(A) X: P(a)P(b)P(c) Y:P(b)P(c)P(d) Z:P(c)P(d)P(a)
(B) X: P(b)P(a)P(c) Y:P(b)P(c)P(d) Z:P(a)P(c)P(d)
(C)X: P(b)P(a)P(c) Y:P(c)P(b)P(d) Z:P(a)P(c)P(d)
(D) X: P(a )P(b)P(c) Y:P(c)P(b)P(d) Z:P(c)P(d)P(a)

Respuesta: (B)
Explicación: La opción A puede causar interbloqueo. Imagine una situación en la que el proceso X ha adquirido a, el proceso Y ha adquirido b y el proceso Z ha adquirido c y d. Hay espera circular ahora.

La opción C también puede causar interbloqueo. Imagine una situación en la que el proceso X ha adquirido b, el proceso Y ha adquirido c y el proceso Z ha adquirido a. Hay espera circular ahora.

La opción D también puede causar interbloqueo. Imagine una situación en la que el proceso X ha adquirido ayb, el proceso Y ha adquirido c. X e Y esperando circularmente el uno al otro.

Ver http://www.eee.metu.edu.tr/~halici/courses/442/Ch5%20Deadlocks.pdf

Considere la opción A), por ejemplo, aquí los 3 procesos son simultáneos, por lo que X obtendrá el semáforo a, Y obtendrá b y Z obtendrá c, ahora X está bloqueado para b, Y está bloqueado para c, Z obtiene d y bloqueado para a. Por lo tanto, conducirá a un punto muerto.

De manera similar, uno puede darse cuenta de que para B) el orden de finalización es Z, X y luego Y.

Esta pregunta es un duplicado de http://geeksquiz.com/gate-gate-cs-2013-question-16/

Vea la explicación del video de GeeksforGeeks:

Cuestionario de esta pregunta

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *