Filosofos cenando++

Preview:

Citation preview

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.