1 Problema de los Caníbales
- Una tribu cena en comunidad una gran olla que contiene M misioneros cocinados.
- Cuando un miembro de la tribu quiere comer, él mismo se sirve de la olla un misionero, a menos que esté vacía. Los miembros de la tribu se sirven de la olla de uno en uno.
- Si la olla está vacía, el que va a cenar despierta al cocinero y se espera a que esté llena la olla.
- Desarrollar el código de las acciones de los miembros de la tribu y el cocinero usando semáforos.
Usa las siguientes variables:
- olla :
- Entero que indica el número de misioneros en la olla. Estará inicializada a M.
- mutex :
- Mutex para proteger la exclusión mutua sobre la variable
olla. Inicializado a
1
. - espera :
- Semáforo utilizado para hacer que el que va a cenar se
detenga hasta que el cocinero llene la olla cuando está
vacía. Inicializado a
0
. - coci :
- Semáforo inicializado a
0
y usado para que el cocinero no haga nada cuando la olla no está vacía.
2 Entrega
-
Se realiza en pracdlsi en las fechas allí indicadas. Puedes entregar tantas veces como quieras, solo se corrige la ultima entrega.
-
Los documentos que entregues que sean de texto (UTF-8 preferiblemente) o PDF, no emplees otros formatos.
-
Crea una carpeta llamada
p6
y dentro de ella estarán el código y archivos de texto o PDF donde contestas a las preguntas. Esta carpeta la comprimes en un archivo llamadop6.tgz
p.e. así usando el terminal:tar cfz p6.tgz p6