Dzisiaj jest 13 stycznia 2025 r.
Chcę dodać własny artykuł

Algorytm Petersona

Algorytm Petersona to algorytm przetwarzania współbieżnego, który zapewnia wzajemne wykluczenie dla dwóch procesów lub wątków, umożliwiając im bezkonfliktowy dostęp do współdzielonego zasobu (sekcji krytycznej). Został on opracowany przez Gary’ego L. Petersona w 1981 roku. Choć algorytm ten jest specyficzny dla dwóch procesów, istnieje jego uogólniona wersja, znana jako algorytm piekarniany, która obsługuje wiele procesów.

Opis algorytmu

Algorytm Petersona wykorzystuje dwa kluczowe elementy:

  • zainteresowany – tablica, w której każdy wątek ustawia wartość true, gdy chce wejść do sekcji krytycznej.
  • czyja_kolej – zmienna, która określa, który proces ma pierwszeństwo w dostępie do sekcji krytycznej.

Dostęp do sekcji krytycznej jest przyznawany wątkowi P0, jeśli P1 nie jest zainteresowany jej wykonaniem lub jeśli P1 zgadza się na pierwszeństwo P0. Algorytm ten gwarantuje nie tylko wzajemne wykluczenie, ale także eliminuje ryzyko zagłodzenia oraz zakleszczenia procesów.

Podsumowanie

Algorytm Petersona jest efektywnym rozwiązaniem do zarządzania dostępem do zasobów w systemach wielowątkowych, oferując prostotę i efektywność w kontekście wzajemnego wykluczania.