5. Predavanje - VTS NS
5. Predavanje - VTS NS
5. Predavanje - VTS NS
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