Está en la página 1de 1

Problema

Un barbero estará durmiendo cuando este no tiene ningún cliente al cual atender, sin
embargo, en el momento que llega un cliente esté lo despertará y será atendido. Si se
da el caso que llega algún cliente adicional, tendrá que esperar su turno en una cola,
esperando para ser atendido.
Uso en el Tema
Dentro del concepto de programación, más específicamente en la programación paralela,
el problema se usa para representar el trato de operaciones, su orden. Se asigna la “Zona
Crítica”, un recurso que se compartirá uno por uno, se llegan a utilizar varios términos;
registros, hilos, procesos, etc. El caso es que realizan un orden donde cada elemento
será atendido a su debido tiempo, evitando la competencia entre elementos que
necesiten de pasar por ese procedimiento.
Dentro del concepto se da la existencia de “semáforos” que protegen a la variable
compartida e indican cuando ya es permitido el paso del siguiente elemento en la cola,
evitan la sobreescritura y resultados no deseados con los demás elementos.
Se introduce el “Mutex”, la forma a la que se llamará al semáforo que entrará a la zona
crítica, ayuda más que nada a realizar una exclusión mutua donde se dice que “Si otro
cliente llegará, no podrá hacer nada hasta que el primero sea liberado por Mutex”.
Básicamente tomando “Mutex” también como un comando de salida. Por lo mismo se
dice que si la cola es igual al número de sillas, el cliente no tendrá donde esperar, por lo
que tomará el “Mutex” para salir sin que este sea atendido.
Caso contrario a que si existe una silla para la espera, el cliente, ejecutará el comando
“Waiting” y esperará a ser atendido. Cabe aclarar que, al hablar del cliente, este no
realiza un ciclo, si no que recibe cierta actividad de manera automática.

También podría gustarte