Programowanie współbieżne i rozproszone/PWR Ćwiczenia 1

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Zadanie

Treść

Uruchamiamy współbieżnie dwa następujące procesy:

process P1;
begin
  while true do 
  begin
    własne_sprawy;
    protokół_wstępny;
    sekcja_krytyczna;
    protokół_końcowy;
  end
end;
process P2;
begin
  while true do 
  begin
    własne_sprawy;
    protokół_wstępny; 
    sekcja_krytyczna;
    protokół_końcowy;
  end
end; 

Chcemy zapewnić, że w tym samym czasie co najwyżej jeden z nich wykonuje fragment programu oznaczony jako sekcja_krytyczna. Jakie instrukcje należy umieścić w protokołach, aby zrealizować ten cel? Nie dysponujemy żadnymi mechanizmami synchronizacyjnymi, więc protokoły powinny umiejętnie wykorzystać zmienne globalne oraz instrukcje języka programowania.