3.1.1. Список текущих событий

Всписке текущих событий сообщения расположены впорядке убывания приоритета (т. е. сообщения сболее высокими приоритетами расположены ближе к началу списка); внутри класса сообщений содинаковыми приоритетами сообщения располагаются впорядке поступления их всписок. Каждое сообщение всписке текущих событий может находиться либо в активном состоянии (т.е. просматриваться в данный момент условного времени), либо в состоянии задержки.

Если сообщение находится в активном состоянии, то процедура, осуществляющая просмотр , пытается продвигать эти сообщения к следующим блокам. Если движение сообщения блокируется каким-либо оборудованием, то вход в следующий блок выполнить невозможно , исообщение переводится в состояние задержки.

Сообщения втаком состоянии игнорируются процедурой просмотра и помещаются в соответствующий список задержки.

Списки задержки представляют собой списки сообщений, ожидающих изменения состояния оборудования. Все эти виды списков задержки перечислены ниже.

Устройства. Устройство занято, устройство свободно, устройство обслуживает прерывание, устройство работает без прерываний, устройство доступно, устройство недоступно.

Многоканальные устройства. Устройство заполнено, устройство не заполнено, устройство пусто, устройство не пусто, сообщение может войти в устройство, устройство доступно, устройство недоступно.

Логические    переключатели.    Логический переключатель   установлен, логический переключатель сброшен.

Таким образом, заблокированное сообщение (например, вблоке SEIZE из-за занятости устройства) будет переведено в состояние задержки и помещено в список задержки "устройство занято" для данного устройства. Позже, когда другое сообщение освободит устройство, все сообщения списка задержки "устройство занято" для данного устройства будут переведены в активное состояние, и интерпретатор отметит, что произошло изменение состояния устройства. Как только завершается обработка активного сообщения, запускается процедура просмотра, ивсесообщения, которые в результате изменения состояния устройства получили возможность двигаться, будут продвинуты.

То же происходит слюбымиз перечисленных выше списков задержки вмомент, когда происходит соответствующее изменение состояния

оборудования . Таким образом, интерпретатор не пытается продвинуть сообщение, заблокированное из-за состояния оборудования, он ожидает изменения состояния оборудования .

Такой способ обработки заблокированных сообщений дает значительную экономию машинного вр емени.

Пользователю следует учитывать, что для сообщений, заблокированных вблоке TEST или пытающихся выйти из блока TRANSFER (врежимах ALL, BOTH), списков задержки не существует. Вэтих случаях сообщения остаются в активном состоянии в списке текущих событий иучаствуют во всех просмотрах.