Sr-7-wyk-2.0-Slajd24

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Algorytm Raymonda (1)

Algorytm Raymonda (1)


Kiedy proces Pi chce wejść do sekcji krytycznej, wysyła ŻĄDANIE do procesu (wskazywany przez posiadacza ), wzdłuż skierowanej ścieżki prowadzącej do korzenia, pod warunkiem że nie posiada żetonu i jego kolejka_żądań jest pusta. Następnie Pi dodaje swoje żądanie do swojej kolejki_żądań(i ). Należy zauważyć, że niepusta kolejka_żądań procesu oznacza, że wysłał on ŻĄDANIE do korzenia, które odnosi się do wpisu z początku kolejki.

Gdy proces Pj otrzyma ŻĄDANIE , umieszcza je w swojej kolejce i wysyła ŻĄDANIE wzdłuż skierowanej ścieżki do korzenia o ile nie wysłał jakiegoś innego ŻĄDANIA (które było następstwem otrzymanego wcześniej ŻĄDANIA i znalazło się w kolejce żądań).

W momencie gdy proces będący korzeniem drzewa (posiadacz żetonu), odbierze wiadomość z ŻĄDANIEM , wysyła żeton do procesu Pi , od którego otrzymał to ŻĄDANIE , a następnie zmienia zmienną posiadacz , tak aby wskazywała na proces Pi .

Kiedy proces Pk otrzyma żeton, usuwa wpis ze szczytu swojej kolejki_żądań , wysyła żeton do procesu Pj wskazywanego przez ten wpis oraz zmienia zmienną posiadacz na proces Pj . Jeśli w tym momencie kolejka_żądań jest niepusta , to proces wysyła ŻĄDANIE do procesu, który jest wskazany przez zmienną posiadacz .


<< Poprzedni slajd | Spis treści | Następny slajd >>