PUERTA | GATE-IT-2004 | Pregunta 65

Las variables de semáforo lleno, vacío y mutex se inicializan en 0, n y 1, respectivamente. El proceso P 1 agrega repetidamente un elemento a la vez a un búfer de tamaño n, y el proceso P elimina repetidamente un elemento a la vez del mismo búfer utilizando los programas que se indican a continuación. En los programas, K, L, M y N son declaraciones no especificadas.
 P1

mientras (1) {

    K;

P(mutex);

Agregue un elemento al búfer;

V(mutex);

    L;

}

P2

mientras (1) {

   METRO;

P(mutex);

Eliminar un elemento del búfer;

V(mutex);

    NORTE;

}

Las declaraciones K, L, M y N son respectivamente

(A) P(lleno), V(vacío), P(lleno), V(vacío)
(B) P(lleno), V(vacío), P(vacío), V(lleno)
(C) P(vacío ), V(lleno), P(vacío), V(lleno)
(D) P(vacío), V(lleno), P(lleno), V(vacío)

Respuesta: (D)
Explicación:
El proceso P1 es el productor y el proceso P2 es el consumidor.

El semáforo ‘completo’ se inicializa en ‘0’. Esto significa que no hay ningún elemento en el búfer.
El semáforo ‘vacío’ se inicializa en ‘n’. Esto significa que hay espacio para n elementos en el búfer.

En el proceso P1, esperar en el semáforo ‘vacío’ significa que si no hay espacio en el búfer, P1 no puede producir más elementos. La señal en el semáforo ‘lleno’ significa que se ha agregado un elemento al búfer.

En el proceso P2, esperar en el semáforo ‘lleno’ significa que si el búfer está vacío, el consumidor no puede consumir ningún artículo. La señal en el semáforo ‘vacío’ incrementa un espacio en el búfer después del consumo de un elemento.

 
Por lo tanto, la opción (D) es correcta.

 
Comente a continuación si encuentra algo incorrecto en la publicación anterior.

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 *