Н. П. Вашкевич, Р. А. Бикташев, А. А. Тараканов
ФОРМАЛЬНОЕ ОПИСАНИЕ АЛГОРИТМА
УПРАВЛЕНИЯ ВЗАИМОДЕЙСТВУЮЩИМИ
ПАРАЛЛЕЛЬНЫМИ ПРОЦЕССАМИ В ЗАДАЧЕ
ПРОИЗВОДИТЕЛИ–ПОТРЕБИТЕЛИ С ИСПОЛЬЗОВАНИЕМ
СОГЛАСУЮЩЕГО КОЛЬЦЕВОГО БУФЕРА
В статье рассматриваются вопросы формального описания алгоритма
управления синхронизацией параллельных асинхронных процессов при обмене сообщениями в задаче производители–потребители с использованием согласующего кольцевого буфера. <...> Формальное
описание алгоритма управления процессами базируется на использовании логики недетерминированных автоматов. <...> Процессы взаимодействуют через некоторую
обобщенную область памяти – согласующий буфер сообщений. <...> В данной работе, в отличие от [1], будем использовать согласующий кольцевой буфер
сообщений, в который информация записывается и считывается по очереди. <...> Производитель передает сообщение потребителю, помещая его в конец
очереди. <...> Потребитель получает сообщение, извлекая его из начала очереди. <...> Чтобы сообщение нельзя было извлечь из пустой очереди или поместить в
заполненный буфер, нужна синхронизация. <...> Для формального описания алгоритма управления взаимодействующими процессами в рассматриваемой задаче используется язык логики недетерминированных автоматов (НДА), с помощью которого описываются все реализуемые в алгоритме частные события [1]. <...> В работе рассматривается алгоритм функционирования кольцевого согласующего буфера при обмене сообщениями между производителем и потребителем, позволивший определить условия, для которых буфер будет полон, пуст или займет промежуточное состояние. <...> На основании этих условий, общих требований к алгоритму управления межпроцессного взаимодействия и методики формализации функций
взаимоисключения критических участков [1] строится граф НДА, представляющий этот алгоритм, с описанием всех основных событий, реализуемых в
алгоритме. <...> Функционирование кольцевого согласующего буфера <...>