Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

Exposicion dionisio (karen y julian)

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Nächste SlideShare
Problema de los Filosofos
Problema de los Filosofos
Wird geladen in …3
×

Hier ansehen

1 von 5 Anzeige

Weitere Verwandte Inhalte

Andere mochten auch (19)

Anzeige

Exposicion dionisio (karen y julian)

  1. 1. En 1965, Dijkstra planteo y resolvió un problema de sincronización al que llamo problema de la cena de filósofos, el problema tiene un planteamiento muy sencillo. Cinco filósofos están sentados alrededor de una mesa circular. Cada filosofo tiene ante si un plato de espagueti. El espagueti están resbaloso que un filosofo necesita dos tenedores para comerlo. Entre cada par de platos ay un tenedor.
  2. 2. La vida de un filosofo consiste en periodos alternantes de comer y pensar. Cuando un filosofo siente hambre, trata de adquirir sus tenedores izquierdo y derecho, uno a la vez o en cualquier orden si logra adquirir los dos tenedores, comerá por un rato, luego pondrá los tenedores en la mesa y seguirá pensando.
  3. 3. El procedimiento take_fork (tomar tenedor) espera hasta que el tenedor especifico este disponible y luego se apodera de el. Supongamos que todos los científicos toman su tenedor izquierdo simultáneamente. Ninguno podrá tomar su tenedor derecho, y tendremos un bloqueo mutuo. Una situación así, en la que todos los programas sigan ejecutándose de manera indefinida pero no logran avanzar se denominan inanición. En la practica, empero, tiene un problema de rendimiento: Solo un filosofo puede estar comiendo en un instante dado. Si hay cinco tenedores disponibles deberíamos estar en condicione s de permitir que dos filósofos comieran al mismo tiempo.
  4. 4. E programa utiliza un arreglo de semáforos, uno por filosofo de modo que los filósofos hambrientos pueden bloquearse si los tenedores que necesitan están ocupados. Cada proceso ejecuta el procedimiento filosofo como código principal, pero los demás procedimientos, tomar tenedores, poner tenedores y probar son procedimientos ordinarios y no procesos apartes.

×