Процедура ожидания входа в критический участок. Недостатки алгоритмов, построенных средствами обычных языков программирования. Первые механизмы, предложенные для синхронизации поведения процессов. Решение проблемы producer-consumer с помощью семафоров.