Download - Filosofos cenando++
FILOSOFOS CENANDOSISTEMAS OPERATIVOS - 2015
CENA DE LOS FILÓSOFOS• Es un problema clásico de las
ciencias de la computación propuesto por el científico Edsger Dijkstra para representar los inconvenientes que plantea la sincronización de procesos en un sistema operativo.
CENA DE LOS FILÓSOFOS• 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 palillo a la izquierda de su plato.
CENA DE LOS FILÓSOFOS• ACCIONES:
– Comer, necesitan 2 palillos.
– Pensar.
HAY CONDICIONES????
CENA DE LOS FILÓSOFOS• Exclusión mutua:
Dos filósofos contiguos no pueden comer a la vez.
• Sincronización: Si un filósofo está comiendo, los contiguos no pueden hacerlo hasta que termine.
• Interbloqueo: • El filósofo que termina de comer debe
ceder los palillos para su posterior utilización.
CENA DE LOS FILÓSOFOS• Interbloqueo (activo):
Si 2 filósofos contiguos van a coger los palillos, uno de ellos debe hacerlo.
• Inanición: Todos los filósofos que quieran comer tienen que poder hacerlo en algún momento finito, o morirán.
CÓMO LO SOLUCIONAMOS?
Planteamiento de la solución.
• Se tiene un arreglo para ver el estado del filósofo.
• Un filósofo sólo puede comer si sus vecinos no lo hacen.
• Se utilizan semáforos para indicar si los filósofos necesitan un tenedor y éste no está disponible, por que se procede a bloquearlo.
• Se toma en cuenta el vecino derecho e izquierdo de cada filósofo.
• Se usan generadores aleatorios.
• POR TURNO CÍCLICO
ANÁLISIS DE LA PROPUESTA 1
• Garantiza exclusión mutua.
• No resuelve el problema de interbloqueo.
• VARIOS TURNOS
ANÁLISIS DE LA PROPUESTA 2
• Permitir como máximo que N-1 filósofos actúen
a la vez.• Garantiza exclusión
mutua.• Resuelve problema de
interbloqueo.
• El portero del comedor
ANÁLISIS DE LA PROPUESTA 3
• Los filósofos cogen los palillos sólo si ambos
están libres.• Garantiza exclusión
mutua.• Resuelve problema de
interbloqueo.• Basada en espera
ocupada (no eficiente.)
• COLAS DE PALILLOS
ANÁLISIS DE LA PROPUESTA 4
• Filósofo impar __ 1º Palillo izquierdo y 2º Palillo
derecho
• Filósofo par __ 1º Palillo derecho y 2º Palillo
izquierdo
• Garantiza exclusión mutua.
• Resuelve problema de interbloqueo.
• Resolución de conflictos en colas de tenedores
ANÁLISIS DE LA PROPUESTA 5
• Antes de coger su palillo izquierdo, cada
filósofo espera un tiempo aleatorio.
• Garantiza exclusión mutua.
• Resuelve problema de interbloqueo.