| ||||||||||||||||||
4.3.2. Универсальный семафор (считающий семафор)Универсальный семафор - это пара операций - примитив и аргумент-семафор, имеющий диапазон целых чисел. Числовые семафоры могут принимать отрицательные значения: если S отрицательно, то |S| - это число процессов, заблокированных по S (рис. 15). | ||||||||||||||||||
| ||||||||||||||||||
Начальное значение S - количество процессов, которые могут пройти семафор до первой операции V(S) (например у двоичного - начальное значение S=1).
Выводы: на приведенных выше примерах мы рассмотрели варианты решения проблемы взаимного исключения процессов, но взаимная блокировка невозможна, т.к. процессы, пытающиеся использовать CS, будут выполняться последовательно, когда S=1. | ||||||||||||||||||
| ||||||||||||||||||
|