Você está na página 1de 14

Equipo #3

Tema: Filsofos Comensales


integrantes: SANDRA
ERICKA SALASAR GONZALEZ
GRISELDA GUADALUPE RODRIGUEZ
ROQUE
HECTOR OMAR SANCHEZ MARTINEZ
PAOLA CAROLINA SANCHEZ
MONARREZ

El problema de la cena de los


filsofos
Haba una vez cinco filsofos que
vivan juntos. La vida de cada
filsofo consista principalmente
en pensar y comer y, tras aos de
pensar, todos los filsofos se
haban puesto de acuerdo en que
la nica comida que contribua a
sus esfuerzos era el arroz.

Los preparativos de la comida eran


simples: una mesa redonda en la que
haba cinco platos de arroz, uno para
cada filsofo, y cinco palillos. Un filsofo
que quisiera comer ira a su lugar
asignado en la mesa y, usando los dos
palillos de cada lado del plato, se comera
el arroz.

El problema es el siguiente: inventar un


ritual (algoritmo) que permita comer a los
filsofos. El algoritmo debe satisfacer la
exclusin mutua (dos filsofos no pueden
emplear el mismo palillo a la vez),
adems de evitar el interbloqueo y la
inanicin (en este caso, este ultimo
trmino tiene un significado literal adems
del algortmico).

Una primera solucin al problema de la


cena de los filsofos es:

Este algoritmo sugiere una solucin por


medio de semforos. Cada filosofo toma
primero el palillo de su izquierda, y
despus el de su derecha. Cuando un
filosofo termina de comer, devuelve los
dos palillos a la mesa.

Esta solucin, desafortunadamente,


produce nterbloqueo: si todos los
filsofos estn hambrientos al mismo
tiempo, todos se sientan, todos toman el
palillo de su izquierda y todos intentan
tomar el otro palillo que no estar. Esta
solucin es poco decorosa, pues todos los
filsofos pasan hambre.

Para superar el riesgo de nterbloqueo se


podran adquirir 5 palillos adicionales (una
solucin mas saludable), o ensear a los
filsofos a comer arroz con un solo palillo.
Su misin: proponer una modificacin a
este algoritmo libre de interbloqueo e
inanicin.

Resolucin: 1.- Cena de los


filsofos:
Existen varios algoritmos que permiten
reducir la probabilidad de ocurrencia de
interbloqueo, y otros que la eliminan por
completo. En todos los casos los palillos
son representados con objetos de
exclusin mutua.

En el primer tipo de algoritmo tenemos el


siguiente: Cada proceso (filosofo) toma
dos palillos (wait del semforo), uno a la
vez pero el orden de cual palillo toma
primero (izquierdo o derecho) se
determina de forma aleatoria dentro del
proceso. De esta manera se reduce, mas
no se elimina la posibilidad de
interbloqueo.

Una variante del algoritmo anterior es


aquel donde todos los procesos esperan
por los semforos en un orden especifico
e igual para todos, salvo un proceso,
donde el orden de peticin de los palillos
(semforos) es el inverso.

De esta manera se evita el interbloqueo.


La solucin que se mostrara a
continuacin corresponde a otro algoritmo
donde se utiliza la instruccin wait de dos
objetos simultneamente. Con este
algoritmo se elimina por completo el
problema de interbloqueo e inanicin por
completo. La explicacin aparece dentro
del mismo cdigo.

Você também pode gostar