Una variable compartida x, inicializada a cero, es operada por cuatro procesos concurrentes W, X, Y, Z de la siguiente manera. Cada uno de los procesos W y X lee x de la memoria, lo incrementa en uno, lo almacena en la memoria y luego termina. Cada uno de los procesos Y y Z lee x de la memoria, lo reduce en dos, lo almacena en la memoria y luego termina. Cada proceso antes de leer x invoca la operación P (es decir, esperar) en un semáforo de conteo S e invoca la operación V (es decir, señal) en el semáforo S después de almacenar x en la memoria. El semáforo S se inicializa a dos. ¿Cuál es el valor máximo posible de x después de que todos los procesos completan su ejecución? (GATE CS 2013)
(A) -2
(B) -1
(C) 1
(D) 2
Respuesta: (D)
Explicación: consulte https://www.geeksforgeeks.org/operating-systems-process-management-question-11/ para obtener una explicación .
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