
Компиляцияикомпоновкапрограммвz/OS 313
и смещения. Перемещаемые программы позволяют загрузить идентичные копии
программы в различные адресные пространства, каждая из которых загружается по
разным начальным адресам. Дополнительные сведения о перемещаемых программах
см. в разделе 10.3, «Компиляция программ в z/OS».
1041 Пакетный загрузчик
Пакетный загрузчик (batch loader) объединяет возможности простого редактирова-
ния и загрузки (которые также могут быть реализованы в редакторе связей и менед-
жере программ) в один этап. Пакетный загрузчик принимает объектные и загрузочные
модули и загружает их в виртуальную память для выполнения. В отличии от компо-
новщика и редактора связей, пакетный загрузчик не генерирует загрузочные модули,
которые можно было бы сохранить в программных библиотеках. Пакетный загрузчик
подготавливает исполняемую программу в памяти и передает ей управление.
Обработка пакетным загрузчиком выполняется на этапе загрузки, который соот-
ветствует этапам компоновки и запуска в компоновщике или редакторе связей. Пакет-
ный загрузчик может использоваться в заданиях компиляции-загрузки и загрузки
. Он
может включать модули из библиотеки вызовов (SYSLIB) и/или из области загрузки мо-
дулей (link pack area, LPA). Подобно другим компонентам управления программами, па-
кетный загрузчик поддерживает атрибуты адресации и режимов размещения в 24-, 31-
и 64-разрядных режимах адресации. Программа пакетного загрузчика является реенте
-
рабельной и поэтому может размещаться в резидентной области загрузки модулей.
Примечание В последнихверсияхz/OSпакетныйзагрузчикбылзамененкомпоновщиком
1042 Загрузчик программ
Загрузчик программ (program management loader) расширяет возможности компонента
менеджера программ посредством реализации поддержки загрузки программных объ-
ектов. Загрузчик считывает как программные объекты, так и загрузочные модули в вир-
туальную память и подготавливает их к выполнению. Он разрешает любые адресные
константы в программе таким образом, чтобы они указывали на определенные области
виртуальной памяти, и поддерживает 24-, 31- и 64-разрядный режимы адресации.
При обработке объектных и загрузочных модулей редактор связей назначает
последовательные относительные адреса виртуальной памяти управляющим секциям
и разрешает ссылки между управляющими секциями. Объектные модули, генерируе-
мые различными языковыми трансляторами, можно использовать для создания од-
ного загрузочного модуля.
В Примере 10.13 необходимо выполнить компиляцию, компоновку и выполнение,
в данном случае, для программы на ассемблере.
Пример 10.13. JCL-код компиляции, компоновки и выполнения
//USUAL JOB A2317P,'COMPLGO'
//ASM EXECPGM=IEV90,REGION=256K,ИСПОЛНЕНИЕПРОГРАММЫНААССЕМБЛЕРЕ
// PARM=(OBJECT,NODECK,'LINECOUNT=50')