Для иллюстрации сказанного рассмотрим простейшие программы, синхронизирующие свои действия с помощью семафоров
Листинг 8.1. Программа 08-1a.c для иллюстрации работы с семафорами (html, txt)
Листинг 8.1b. Программа 08-1b.c для иллюстрации работы с семафорами (html, txt)
Первая программа выполняет над семафором S операцию D(S,1), вторая программа выполняет над тем же семафором операцию A(S,1). Если семафора в системе не существует, любая программа создает его перед выполнением операции. Поскольку при создании семафор всегда инициируется 0, то программа 1 может работать без блокировки только после запуска программы 2. Наберите программы, сохраните под именами 08-1а.с и 08-1b.c cоответственно, откомпилируйте и проверьте правильность их поведения.