aniii Problema del barbero durmiente

Páginas: 2 (475 palabras) Publicado: 25 de junio de 2015
Problema del barbero durmiente
El barbero le está cortando el pelo al cliente
En ciencias de la computación, el problema del barbero durmiente es un problema de sincronización. El problema consisteen una barbería en la que trabaja un barbero que tiene un único sillón de barbero y varias sillas para esperar. Cuando no hay clientes, el barbero se sienta en una silla y se duerme. Cuando llega unnuevo cliente, éste o bien despierta al barbero o —si el barbero está afeitando a otro cliente— se sienta en una silla (o se va si todas las sillas están ocupadas por clientes esperando). El problemaconsiste en realizar la actividad del barbero sin que ocurran condiciones de carrera. La solución implica el uso de semáforos y objetos de exclusión mutua para proteger la sección crítica.
Un semáforoes una variable protegida (o tipo abstracto de datos) que constituye el método clásico para restringir o permitir el acceso a recursos compartidos (por ejemplo, un recurso de almacenamiento) en unentorno de multiprocesamiento. Fueron inventados por Edsger Dijkstra y se usaron por primera vez en el sistema operativo THEOS.
En electrónica y en programación concurrente, se conoce como condición decarrera al error que se produce en programas o circuitos lógicos que no se han construido adecuadamente para su ejecución simultánea con otros procesos.


Implementación
El próximo pseudo-códigogarantiza la sincronización entre el barbero y el cliente, pero puede llevar a inanición del cliente. wait() y signal() son funciones provistas por el semáforo.
Se necesita:
Semáforo barberoListo = 0// (Mutex, sólo 1 ó 0)
Semáforo sillasAccesibles = 1 // (Mutex) Cuando sea 1, el numero de sillas libres puede aumentar o disminuir
Semáforo clientes = 0 // Número de clientes en la sala deespera
int sillasLibres = N // N es el número total de sillas
Función barbero (Proceso/hilo-thread):
while(true) // Ciclo infinito
{
wait(clientes) //...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Barbero durmiente en java
  • Barbero
  • Barbero
  • Barbero
  • Barbero
  • barbera
  • Barbero
  • El barbero de sevilla

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS