Mam prośbę o pomoc. Pod linuksa prawie w ogóle dotąd nie programowałem, a potrzebuję rozwiązać pewien problem. Podam na prostym przykładzie:
Są dwa procesy. Każdy proces składa się z np. 5 iteracji.
Każda iteracja wygląda następująco:
- Wypisanie: "PID - początek"
początek sekcji krytycznej
- Wypisanie: "PID - wewnątrz sekcji krytycznej"
koniec sekcji krytycznej
- Wypisanie: "PID - koniec"
- Sleep np. na 0,5 sekundy
(*) słówko PID oznacza oczywiście identyfikator procesu wyświetlającego dany napis.
I teraz chodzi o to, że procesy powinny być zsynchronizowane w taki sposób, aby operacje zaznaczone jako
sekcja
krytyczna były wykonywane w dowolnym momencie tylko przez dokładnie jeden proces (bo są tam, powiedzmy, używane jakieś zasoby, np. drukarka).
Chciałbym prosić o pomoc w napisaniu "fundamentów" tego programu, czyli pętli i synchronizacji procesów, a resztę (to znaczy to co faktycznie ma program robić) już sobie potem sam dobuduję.