Mam takie ciekawe zadanie.
Proszę określić wszystkie możliwe pary wartości zmiennych współdzielonych w1 i w2, wynikające
z współbieżnego przetwarzania procesów P(i) oraz P(j). Proszę dodatkowo określić taką wartość pary zmiennych w1 i w2, która jest niemożliwa
do uzyskania ze względu na zastosowane operacje semaforowe (tzn. mogłaby być uzyskana, gdyby operacji
semaforowych nie było).
//--------------------------------------------------------------
shared int w1 = 0, w2 = 0;
shared semaphore s1 = 0;
//--------------------------------------------------------------
Proces P(i)
local int i = 0;
i = w1;
w1 = i - 1;
w2 = i - 2;
V(s1);
//--------------------------------------------------------------
Proces P(j)
local int j = 0;
j = w1;
w1 = j + 2;
P(s1);
w2 = j + 5;
//--------------------------------------------------------------
Według mnie
możliwe do uzyskania wartości
w1 , w2
-1, 2
-1, -2
-2, -4
a niemożliwe to :
w1 , w2
-1, 5
-2, 5
Zastanawiaja mnie wszystkie mozliwe wartosci