FILOSOFOS CENANDO
SISTEMAS 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.
Filosofos cenando++

Filosofos cenando++

  • 1.
  • 2.
    CENA DE LOSFILÓ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.
  • 3.
    CENA DE LOSFILÓ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.
  • 4.
    CENA DE LOSFILÓSOFOS • ACCIONES: – Comer, necesitan 2 palillos. – Pensar.
  • 5.
  • 6.
    CENA DE LOSFILÓ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.
  • 7.
    CENA DE LOSFILÓ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.
  • 8.
  • 9.
    Planteamiento de lasolució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.
  • 10.
    • POR TURNOCÍCLICO ANÁLISIS DE LA PROPUESTA 1 •Garantiza exclusión mutua. • No resuelve el problema de interbloqueo.
  • 11.
    • VARIOS TURNOS ANÁLISISDE 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.
  • 12.
    • El porterodel 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.)
  • 13.
    • COLAS DEPALILLOS 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.
  • 14.
    • Resolución deconflictos 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.