Professional Documents
Culture Documents
ПИТЕРСОНОВ АЛГОРИТАМ и
ПИТЕРСОНОВ АЛГОРИТАМ и
Proces i:
//Zaštita uzimanja broja
uzima[i] = 1;
• Затим се редом у ФОР петљи broj[i] = max(broj[0], …, broj[n – 1]) + 1;
обилазе сви процеси, а процес i uzima[i] = 0;
чека да са извршавањем у критичној //Glavna petlja koja je graničnik kritične sekcije
секцији заврше процеси који имају FOR (j = 0; j < n; j++)
бољи број од њега (тј мањи). WHILE (uzima[j] == 1)
//Aktivno čekanje da j-ti proces dobije broj
ENDWHILE
• Ово решење ради за произвољан број WHILE (broj[j] != 0 AND (broj[j], j) < (broj[i], i))
процеса, задовољена су сва три //Aktivno čekanje da proces koji ima prednost završi
услова за добро решење. ENDWHILE
ENDFOR
//Kritična sekcija
• Може да ради и на системима са broj[i] = 0;
више процесора.