Модуль Release
Модуль Release используется для того, чтобы
освобождать ресурсы, которые прежде были
захвачены сущностью. Этот модуль может
быть использован для того, чтобы
освобождать индивидуальные ресурсы или ресурсы в пределах набора.
Для каждого ресурса, который нужно освободить, определяется имя и
количество. Когда сущность поступает в модуль, она теряет управление
определѐнным ресурсом. Любые сущности, ожидающие в очередях
этот ресурс, получают его немедленно.
Замечания:
1. Если есть сущность, ожидающая в очередях для захвата
определѐнного ресурса, то, когда ресурс освобождается, он
автоматически распределяется в ждущую сущность. Эта ждущая
сущность будет обработана, как только сущность, которая освободила
ресурс, переместится.
2. Системная переменная NR (имя ресурса) возвращает номер
последнего занятого ресурса. Когда сущность поступает в модуль
Release, NR уменьшается на количество освобождѐнных ресурсов, если
ресурс не будет немедленно захвачен другой сущностью.
3. Если освобождается больше количество ресурсов, чем было
ранее захвачено, то происходит ошибка.
4. Освобождение множества ресурсов выполняется в порядке их
появления в модуле Release.
Таблица 3.26
Параметры модуля Release
Уникальное имя модуля, которое будет отражено в
блок-схеме
Имя освобождаемых модулем ресурсов
Модуль ReadWrite
Модуль ReadWrite используется для чтения данных из
входного файла или с клавиатуры и задания данных в
список переменных или атрибутов (или других
выражений). Этот модуль также используется, чтобы