13 Семафорите като средство за взаимно изключване
и операциятасигнал(и)е, че:
ако (има процеси, чакащи наs)
след това (оставете един от тях да продължи)
Операциите са неделими. Критичните секции на процеса са рамкирани от операциичакане(и)исигнал(и). Ако няколко процеса едновременно се опитат да изпълнят операциятаwait(s), тогава само на един от тях ще бъде разрешено да го направи, а останалите ще трябва да изчакат.
Контра семафорите се използват, ако някакъв ресурс е разпределен от набор от идентични ресурси. Когато такъв семафор се инициализира, неговият брояч показва броя на елементите в набора. Всяка операцияwait(s)намалява брояча на семафораsс 1, което показва, че един от многото ресурси е разпределен за някакъв процес. Всяка операциясигнал(и)увеличава брояча с 1, което показва, че процесът е върнал ресурса към набора. Ако операциятаwait(s)се изпълни, когато броячът съдържа нула (няма повече ресурси), тогава съответният процес изчаква, докато освободеният ресурс бъде върнат в комплекта, тоест докато се изпълни операциятаsignal.
14 Безизходица и безкрайни забавяния.
Застойе състоянието на процес, в което той чака събитие, което никога няма да се случи.
Прекъсванее ситуация, при която един или повече процеси са в блокирано състояние.
Блокировките могат да бъдат причинени от:
в очакване на несъществуващо събитие
в очакване на невъзникнало събитие
безкрайно отлагане (ситуация, при която предоставянето на процесор на даден процес ще бъде отложено за неопределено време, докато системата ще обърне внимание на други процеси.)
Безкраенотлагането на процес може да възникне поради "дискриминационната" политика на планировчика на системните ресурси. Когато ресурсите се разпределят на приоритетен принцип, може да се случи даден процес да чака безкрайно ресурса, който трябва да бъде разпределен, тъй като непрекъснато ще идват процеси с по-високи приоритети.