Simulirati raspodijeljeni sustav na jednom računalu koristeći procese koji
međusobno komuniciraju običnim cjevovodima.
U takvom simuliranom raspodijeljenom okruženju riješiti proizvoljan
sinkronizacijski problem, primjerice problem N filozofa ili osmisliti bilo koji
sinkronizacijski problem s najmanje 4 procesa i sinkronizirati ih koristeći
protokol Ricarta i Agrawala.
Svi procesi ispisuju poruku koju šalju i poruku koju primaju.
Sve što u zadatku nije zadano, riješiti na proizvoljan način.
Na nekoj konferenciji okupilo se N filozofa. Za razliku od poznatog slučaja 5 filozofa, ovdje za stolom ima mjesta samo za jednu osobu, a ne za 5. Dakle, pristup stolu je kritični odsječak jer samo jedan filozof može biti u nekom trenutku za stolom ili je stol prazan. Na početku glavni proces stvara N procesa filozofa (broj N se zadaje i može biti u intervalu [3,10]. Procesi međusobno komuniciraju cjevovodima (svejedno: običnim ili imenovanim cjevovodima).
proces filozof(i){
sudjeluj na konferenciji; //
spavaj X milisekundi gdje je X je
slučajan broj između 100 i 2000;
pristupi stolu, jedi i ispiši "Filozof i je za stolom";
// spavaj 3 sekunde; (kritični odsječak)
sudjeluj na konferenciji; //
spavaj X milisekundi gdje je X je
slučajan broj između 100 i 2000;
}