Разница между бинарным и считающим семафорами заключается в том, какие значения они могут принимать. 13
Бинарный семафор может принимать только два значения: 0 (ресурс недоступен) и 1 (ресурс доступен). 12 Такой семафор используется для синхронизации между задачами или между задачей и прерыванием. 2
Считающий семафор может принимать не только значения 0 и 1, он эквивалентен очереди с длиной больше 1 элемента. 2 Значение считающего семафора равно количеству произведённых ресурсов, а его максимальное значение устанавливается равным максимально возможному количеству таких ресурсов. 3
Таким образом, считающие семафоры подходят для систем, где многие процессы совместно используют ресурсы, а бинарные семафоры — для более простых задач, когда только один процесс может работать с ресурсом одновременно. 1