Dyskusja:Analiza programowych rozwiązań problemu wzajemnego wykluczania

Z PUTWiki
Skocz do: nawigacji, wyszukiwania

Mam problemy ze zrozumieniem algorytmu Petersona dla n procesów - czy ktoś obeznany móglby ten kod przełożyć na zwykly język? --Filo 15:59, 31 sty 2006 (CET) Rozumiem że maniAkF rozjaśnił "idee"?

>> Co do algorytmu Dijkstry dla n procesów - z tego co kojarze z wykładu nie spełnia on silnego warunku postępu, a analizując kod utwierdzam się w przekonaniu, że dobrze kojarze;) Mianowicie przy pewnych prędkościach wykonywania procesów, proces który przebrnął przez sekcje krytyczną może spowrotem do niej trafić, nie wpuszczając "oczekujących" pozostałych procesów. Taka sytuacja może się powtarzać cyklicznie -> pozostałe procesy zostaną "zagłodzone". Czyż nie?--Zawir 19:10, 31 sty 2006 (CET)

Dokładnie, jeżeli sterowanie nie zostanie przekazane do procesu czekającego, zanim proces, który wyszedł z sekcji krytycznej ponownie ustawi sobie etap wejścia do sekcji krytycznej (flag) na 1, to proces z pętli while, nigdy nie przyzna sobie pierwszeństwa. Ogólnie ten algorytm taki jakiś niepewny mi się wydaje.--ManiAkF 19:34, 31 sty 2006 (CET) << Wrzuciłem jakiśtam opis tej sytuacji do artykułu. --Zawir 22:21, 31 sty 2006 (CET)

[edytuj] Dekker

Czy dla tego algorytmu na pewno jest spełniony słaby warunek postępu.? Tzn. dlaczego nie jest możliwa sytuacja jak w algorytmie naiwnym 1?

[edytuj] co do Dekkera

proces nie może być zakończony w sekcji krytycznwj, a w tym przypadku:

criticalSectionTwo; favoredProcess:=First; P2WantsToEnter:=False;

te 3 linie można traktować jako sekcję. gdzie wyróżnione są te dane na potrzeby dydaktyki ;) problem tylko w ilości zadań, tak jest w porządku

Osobiste
Przestrzenie nazw
Warianty
Działania
Nawigacja
Narzędzia