Семафоры и отключение прерываний - Morozov-5F/operational-system-docs GitHub Wiki

Для работы с семафором, ОС отключает прерывания. Затем производится чтение значения семафора. Если оно уменьшается и достигает нуля, поток, запрашивающий операцию, переводится в группу заблокированных процессов для этого семафора. Если значение увеличивается, то из списка заблокированных процессов (если тот не пуст) выбирается один и переводится в запущенное состояние. Когда все эти операции завершены, прерывания включаются обратно.

Источники:

  • Ответы к заданиям, Э. Таненбаум, 3-е изд.
⚠️ **GitHub.com Fallback** ⚠️