[C con Clase] programa ansi c

Andrea andrea2669 en gmail.com
Jue Oct 25 02:32:38 CEST 2007


hola queria preguntarles si de casualidad alguno tiene el siguente ejercicio
de sincronizacion de procesos 

sea un bar de dudosa reputación, que sirve bebidas alcohólicas sin permiso de la alcaldía de
bogota. La barra del bar está atendida por tres camareros, que realizan, a petición de los clientes,
mezclas de seis bebidas (Whisky, Ginebra, Coñac, Anís del Mono, Cola-Cola Light, y Zumo de
Piña). Los clientes, piden su bebida, que será una combinación cualquiera de dos de las seis
bebidas, a un camarero libre, si lo hay. Si todos los camareros están ocupados, esperan a que se
libere uno de los tres. El camarero, una vez recibida la petición, coge las botellas
correspondientes y hace la mezcla. Mientras tanto, si otro camarero recibe una nueva petición
que requiere el uso de una de las botellas que se está utilizando, espera pacientemente a que el
otro camarero termine de hacer su mezcla.
Se supone que el máximo número de clientes distintos que se pueden atender en un día está
limitado a 100, aunque cada cliente puede pedir tantas combinaciones –gratis- como quiera. La
policía, que sospecha que en el bar se distribuye alcohol sin licencia, puede entrar en cualquier
momento en el bar. Cuando así ocurre, los tres camareros sirven a todo el mundo Coca-Cola
Light con Zumo de Piña, independientemente de lo que hayan pedido.
Escribe el código ANSI-C comentado de tres procesos (Camarero, Cliente, Policía) que
ejecuten las funciones descritas. Para la sincronización de los procesos, utiliza variables
compartidas y semáforos.

les agradeceria su colaboracion



Más información sobre la lista de distribución Cconclase