SISTEMAS OPERATIVOS
U ALGORITMO DE FILOSOFOS

El problema de los filósofos cenando es un problema clÔsico de las ciencias de la computación propuesto por Edsger Dijkstra en 1965 para representar el problema de la sincronización de procesos en un sistema operativo.
Enunciado:
Cinco filósofos se sientan alrededor de una mesa y pasan su vida cenando 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 a su izquierda y derecha. Si cualquier filósofo toma un tenedor y el otro estÔ ocupado, se quedarÔ esperando, con el tenedor en la mano, hasta que pueda tomar el otro tenedor, para luego empezar a comer.
Posibles Soluciones
Por turno cĆclico
Se empieza por un filósofo, que si quiere puede comer y despué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.
Colas de tenedores
Cuando un filósofo quiere comer se pone en la cola de los dos tenedores que necesita. Cuando un tenedor estÔ libre lo toma. Cuando toma los dos tenedores, come y deja libre los tenedores.
.
La imagen es el algoritmo de la cena de los 5 filósofos... los filósofos estarÔn en el estado de hambre, comer y pensar un filósofo puede coger 2 tenedores. Esto indica q solo 2 filósofos comerÔn y los demÔs estarÔn en estado hambriento. Los filósofos que estén comiendo pensaran hasta que llegue el turno de los filósofos hambrientos.