informatica

Páginas: 3 (549 palabras) Publicado: 20 de junio de 2013
Problema de filósofos comensales

Había una vez cinco filósofos que vivían juntos. La vida de cada filósofo consistía principalmente en pensar y comer y, tras años de pensar, todos los filósofosse habían puesto de acuerdo en que la única comida que contribuía a sus esfuerzos era el arroz.

Los preparativos de la comida eran simples: una mesa redonda en la que había cinco platos de arroz,uno para cada filósofo, y cinco palillos. Un filósofo que quisiera comer iría a su lugar asignado en la mesa y, usando los dos palillos de cada lado del plato, se comería el arroz. El problema es elsiguiente: inventar un ritual (algoritmo) que permita comer a los filósofos. El algoritmo debe satisfacer la exclusión mutua (dos filósofos no pueden emplear el mismo palillo a la vez), además de evitarel interbloqueo y la inanición (en este caso, este ultimo término tiene un significado literal además del algorítmico).

/* Programa cena de los filósofos. Sin interbloqueo */
#define N 5 //N =numero de comensales, palillos, filósofos, etc…
semáforo palillo[N]={1}; //arreglo de N semáforos que representan los palillos. Todos en 1
void filosofo (int i) //proceso de cada filosofo
{while (true) //bucle infinito, se puede colocar condición de parada con variable
{
pensar ( ); //tiempo de espera aleatorio de c/filosofo antes de ‘comer’
wait (palillo [i], palillo[i +1] mod5); //pido los 2 palillos simultáneamente
comer ( ); //tiempo de espera mientras come (puede ser aleatorio)
signal (palillo [i]); //libero palillo izquierdo
signal (palillo [(i + 1) mod 5]);//libero palillo derecho
/* El orden en que libero los palillos no es de especial relevancia. */
}
}
void main()
{
parbegin (filosofo (0), filosofo (1), filosofo (2), filosofo (3), …,filosofo (N));
//inicio de los procesos (filósofos)
}

En ciencias de la computación, el problema del barbero durmiente es un problema de sincronización. El problema consiste en una barbería en...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Informatica
  • Informatica
  • Informatica
  • Informatica
  • Informatica
  • Informática
  • Informatica
  • Informatica

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS