13.07.2015 Views

5. Predavanje - VTS NS

5. Predavanje - VTS NS

5. Predavanje - VTS NS

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Implementacija semaforaKada je vrednost semafora nula, proces koji je izvršio operacijuwait() treba da čeka da neki drugi proces izvrši operaciju signal().Kako ovo realizovati?• Uposlenim čekanjem? – Može, ali je neefikasno• Blokiranjem (ili suspenzijom, engl. blocking, suspension): PCB procesa zakoji nije zadovoljen uslov nastavka izvršavanja ne vraća se u red spremnih,već u red čekanja na semaforu – ne troši procesorsko vreme naizvršavanje sve dok uslov ne bude zadovoljenMoguća implementacija semafora:1) val>0: još val procesa može da izvrši operaciju wait a da se neblokira, nema procesa blokiranih na semaforu;2) val=0: nema blokiranih na semaforu, ali će se proces koji naredniizvrši wait blokirati;3) val

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!