Operativni Sistemi - Univerzitet u Novom Sadu
Operativni Sistemi - Univerzitet u Novom Sadu
Operativni Sistemi - Univerzitet u Novom Sadu
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Softverska realizacija kritične oblasti<br />
Pretpostavke i osobine softverskog rešenja :<br />
0. Unutar kritič ne oblasti istovremeno može se nalaziti najviše do jedan proces.<br />
1. Kritič na oblast se realizuje softverski bez pomoć i operativnog sistema.<br />
2. Prilikom razvoja programa ne uzimamo u obzir pretpostavke ni o brzini, ni o broju<br />
procesora.<br />
3. Ni jedan proces koji je izvan svoje kritič ne oblasti ne sme spreč iti druge procese da<br />
uđu u svoje kritič ne oblasti. Jedino proces unutar kritič ne oblasti može spreč iti ostale<br />
procese da uđu u k.o.<br />
4. Ni jedan proces ne sme neogranič eno dugo č ekati da uđe u svoju kritič nu oblast.<br />
Algoritam mora garantovati svakom procesu moguć nost ulaska u kritič nu oblast.<br />
Sledeć i primeri ilustruju probleme softverske realizacije kritič ne oblasti. Svi programi su dati<br />
pomoć u pseudo-koda:<br />
MODULE Version1 ;<br />
VAR processNumber : CARDINAL ;<br />
// teški proces<br />
// pomoćna promenljiva<br />
PROCEDURE Process1 ;<br />
// prvi laki proces<br />
BEGIN<br />
LOOP<br />
WHILE processNumber = 2 DO END ; // čekamo dok je red na P2<br />
KriticnaOblast1 ;<br />
processNumber := 2 ;<br />
OstaleStvari1<br />
END<br />
END Process1 ;<br />
PROCEDURE Process2 ;<br />
// drugi laki proces<br />
BEGIN<br />
LOOP<br />
WHILE processNumber = 1 DO END ; // čekamo dok je red na P1<br />
KriticnaOblast2 ;<br />
processNumber := 1 ;<br />
OstaleStvari2<br />
END<br />
END Process2 ;<br />
BEGIN<br />
processNumber := 1 ;<br />
PARBEGIN ;<br />
Process1 ;<br />
Process2 ;<br />
PAREND<br />
END Version1.<br />
23