Cтраница 1
Выполнение модуля состоит в загрузке его в оперативную память, настройке по месту в памяти и передаче ему управления. Образ загрузочного модуля в памяти называется абсолютным модулем, поскольку все команды ЭВМ здесь приобретают окончательную форму и получают абсолютные адреса в памяти. Формирование абсолютного модуля может осуществляться как программно, путем обработки командных кодов модуля программой-загрузчиком, так и аппаратно, путем применения индексирования и базирования команд загрузочного модуля и приведения указанных в них относительных адресов к абсолютной форме. [1]
После выполнения модуля, вызванного макрокомандой LINK, память, запятая модулем, считается свободной и может распределяться другим модулям. [2]
Для выполнения модуля необходимо воспользоваться Р2 программой Выборка, в отличие от Загрузчика ДОС ЕС и ИБМ / 360, завершающей процесс редактирования. Программа Выборка корректирует загрузочный модуль по месту его загрузки. Таким образом, загрузочный модуль еще представляет собой полуфабрикат. Программе Редактор связей ОС ЕС даны дополнительные возможности, позволяющие продолжать обработку модуля, уже ранее отредактированного и помещенного в библиотеку загрузочных модулей. Структура загрузочного модуля, в отличие от структуры абсолютного модуля, достаточно похожа на структуру объектного модуля. [3]
Результатом выполнения модуля является вывод таблицы названий команд и площадок, которые назначены этим командам на данную неделю текущего сезона. Модуль запрашивает на входе номер недели, для которой требуется расписание, и перед проведением требуемых вычислений проверяет правильность введенного номера недели. [4]
При выполнении модуля динамической структуры появляются запросы на другие загрузочные модули. Каждый затребованный модуль может иметь структуру любого из перечисленных типов. При этом вызванные загрузочные модули могут выполняться как последовательно, так и параллельно с вызвавшими их загрузочными модулями. Кроме того, загрузочные модули могут иметь структуру, являющуюся комбинацией перечисленных типов. [5]
Минимальное время выполнения модуля равно числу вершин на максимальном пути lm ориентированного графа структуры выполнения модуля. [6]
Контроль длительности выполнения модуля программы основывается на том факте, что каждый модуль программы выполняется за конечное время. Для организации контроля используются счетчики времени. Известно два типа счетчиков времени - суммирующие и вычитающие. На вход обоих типов счетчиков поступают импульсы ( метки) времени. Суммирующий счетчик в каждый данный момент времени хранит текущее значение астрономического времени. Вычитающий счетчик предназначен для фиксации интервалов времени, записываемых в него в виде соответствующих кодовых слов. По мере поступления импульсов времени содержимое счетчика уменьшается. В тот момент, когда оно станет равно нулю, вырабатывается осведомительный сигнал. [7]
После завершения выполнения вызванного модуля управление возвращается вызвавшему модулю к команде, следующей за LINK, после этого память, занимаемая вызванным модулем, считается свободной. [8]
Если же выполнению модуля ADKW предшествовал этап идентификации, то значения параметров перфокарты [ вид ( 135) ] не вводятся. [9]
Поэтому определение времени выполнения модуля на К процессорах сводится к отысканию отображения вершины графа Gv обработки модуля в вершины решетки R с горизонтальным сечением К. [10]
Если в процессе выполнения модуля выполнено последнее правило модуля, и к этому моменту исчерпаны все рабочие наборы, и не было порождено ни одного нового факта ( либо потому, что не оказалось фактов, согласующихся с правилами модуля, либо потому, что все такие факты уже были обработаны и на их основе порождены все возможные новые факты и занесены в соответствующие наборы фактов), то модуль прекращает выполнение и возвращает управление к правилу, которое инициировало выполнение этого модуля, или заканчивает работу программы. [11]
Для изменения регистров при выполнении модуля документа создаются особые записи, называемые движениями регистров Эти записи указывают: как в результате проведения документа должны измениться сводные остатки или обороты, хранящиеся в регистрах. [12]
Загрузчик осуществляет непосредственную загрузку для выполнения отредактированных модулей в одном задании. [13]
Загрузчик объединяет редактирование связей и выполнение отредактированного модуля в одном пункте задания без записи его в библиотеку. [14]
После того как все подготовлено, выполнение модуля прекращается, и его статус запоминается в переменной Main типа PROCESS. Процедура WriteA реализует сопрограмму ProcessA, После записи литеры А в новую позицию она вызывает процедуру TRANSFER для активизации переменной ProcessB. Статус старой сопрограммы запоминается в переменной ProcessA. Аналогичным образом литера В выполняет свою функцию и активизирует переменную ProcessA, используя вызов процедуры TRANSFER в конце своего цикла. Когда выполняется предложение END WriteB, программа завершается. [15]