FORUM - pitanja i odgovori

Pitanje | Deadlock u Dekker-Petersenovom algoritmu

Pitanje | Deadlock u Dekker-Petersenovom algoritmu

napisao/la Srdjan Todorovic -
Broj odgovora: 1

"Primetio sam nešto dok sam preslušavao snimak predavanja pa me zanima Vaše mišljenje o tom zapažanju.

Reč je o Dekker-Petersonovom algoritmu. Dok sam analizirao taj algoritam primetio sam da može doći do deadlock-a ukoliko dispečer preda kontrolu drugom procesu nakon komande flag[i] = true. U prilogu Vam dostavljam svoju skicu situacije na koju sam mislio. Isprekidana crvena linija označava mesto na kome se predaje kontrola drugom procesu.

Na predavanjima smo zaključili, ako sam dobro razumeo, da se deadlock ne može javiti u ovom algoritmi za razliku od njegovih prethodnika pa me iz tog razloga zanima da li sam možda nešto propustio dok sam vršio tu analizu, ili ipak postoji mogućnost da se ovo desi.


Takođe, pitao bih Vas još nešto. Primetio sam da postoje neka pitanja na forumu. Da li trebamo da postavljamo svoja pitanja tamo?"

Prilog dekker-petersonov.png
Prilog prezentacija.jpg
U odgovoru na Srdjan Todorovic

Odgovor: Pitanje | Deadlock u Dekker-Petersonovom algoritmu

napisao/la Srdjan Todorovic -

Profesor:

"Dragi Srđane,

Hvala na pitanju. Tvoje razmišljanje je ispravno i vidi se da si ušao u materiju. Međutim, ipak ne može doći do zastoja. Zaista, proces 1 će čekati na while uslovu. Međutim, u nekom trenutku dispečer će svakako predati kontrolu procesu 0 i on će izvršiti svoj deo koga pre while. Iako će se desiti određeno čekanje, ovo nije primer pravog zastoja (deadlock). Pravi zastoj se dešava nezavisno od dispečera, tj. kojim god redom on da dodeljuje CPU, zastoj će ostati.

Nije loše da postaviš i tvoje pitanje i moj odgovor na forumu. Možda se još neko pitao isto."