Considere tres procesos simultáneos P1, P2 y P3 como se muestra a continuación, que acceden a una variable compartida D que se ha inicializado en 100.
El proceso se ejecuta en un sistema monoprocesador que ejecuta un sistema operativo de tiempo compartido. Si los valores mínimo y máximo posibles de D después de que los tres procesos hayan completado la ejecución son X e Y respectivamente, entonces el valor de Y–X es __________.
Nota: Esta fue una pregunta de tipo numérico.
(A) 80
(B) 130
(C) 50
(D) Ninguno de estos
Respuesta: (A)
Explicación: El valor mínimo (X) de D será posible cuando,
- P2 lee D=100, adelantada.
- P1 ejecuta D=D+20, D=120.
- P3 ejecuta D=D+10, D=130.
- Ahora, P2 tiene D=100, ejecuta, D = D-50 = 100-50 = 50. P2 escribe el valor final D=50.
Entonces, el valor mínimo (X) de D es 50.
El valor máximo (Y) de D será posible cuando,
- P1 lee D=100, adelantada.
- P2 lee D=100, ejecuta, D = D-50 = 100-50 = 50.
- Ahora, P1 ejecuta, D = D+20 = 100+20 = 120.
- Y ahora, P3 lee D=120, ejecuta D=D+10, D=130. P3 escribe D=130 valor final.
Entonces, el valor máximo (Y) de D es 130.
Por lo tanto,
= Y - X = 130 - 50 = 80
Entonces, la opción (A) es correcta.
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