Cena de los filosofos

Solo disponible en BuenasTareas
  • Páginas : 4 (757 palabras )
  • Descarga(s) : 0
  • Publicado : 5 de noviembre de 2010
Leer documento completo
Vista previa del texto
Problema de la cena de los filósofos
[pic]

Ilustración del problema de los filósofos cenando.
El problema de los filósofos cenando es un problema clásico de las ciencias de la computaciónpropuesto por Edsger Dijkstra para representar el problema de la sincronización de procesos en un sistema operativo. Cabe aclarar que la interpretación está basada en pensadores chinos, quienes comían condos palillos, donde es más lógico que se necesite el del comensal que se siente al lado para poder comer.

Enunciado del problema

Cinco filósofos se sientan alrededor de una mesa y pasan su vidacenando y pensando. Cada filósofo tiene un plato de fideos y un tenedor a la izquierda de su plato. Para comer los fideos son necesarios dos tenedores y cada filósofo sólo puede tomar los que están asu izquierda y derecha. Si cualquier filósofo coge un tenedor y el otro está ocupado, se quedará esperando, con el tenedor en la mano, hasta que pueda coger el otro tenedor, para luego empezar a comer.Si dos filósofos adyacentes intentan tomar el mismo tenedor a una vez, se produce una condición de carrera: ambos compiten por tomar el mismo tenedor, y uno de ellos se queda sin comer.
Si todoslos filósofos cogen el tenedor que está a su derecha al mismo tiempo, entonces todos se quedarán esperando eternamente, porque alguien debe liberar el tenedor que les falta. Nadie lo hará porque todosse encuentran en la misma situación (esperando que alguno deje sus tenedores). Entonces los filósofos se morirán de hambre. Este bloqueo mutuo se denomina interbloqueo o deadlock.
El problema consisteen encontrar un algoritmo que permita que los filósofos nunca se mueran de hambre.

Algunas posibles soluciones

• Por turno cíclico
Se empieza por un filósofo, que si quiere puede comer ydespués pasa su turno al de la derecha. Cada filósofo sólo puede comer en su turno. Problema: si el número de filósofos es muy alto, uno puede morir de hambre antes de su turno.
• Varios turnos...
tracking img