Cтраница 1
Реентерабельные загрузочные модули обладают одним важным свойством: они не изменяют свой код во время выполнения программы. Поэтому такие модули могут загружаться в специальную область основной памяти из библиотек на дисках один раз и свободно использоваться в операционной системе любыми заданиями. [1]
Реентерабельные загрузочные модули могут быть построены только из таких программных единиц, которые были протранслированы с режимом RENT. Объектные модули, являющиеся результатом трансляции всех программных единиц, сохраняются в одном файле. Для каждой программной единицы транслятор строит не один, как обычно, а два объектных модуля. Первый из них содержит программную секцию с нереентерабельной частью, а второй - программную секцию с реентерабельной частью. [2]
Реентерабельные загрузочные модули создаются только из реентерабельной части программы. Так как после трансляции с режимом RENT объектные модули содержат реентерабельную и нереентерабельную части, то необходимо разделить эти части. Разделение объектных модулей на две части производится специальной программой библиотеки Фортрана 77, Основной функцией этой программы является создание из одного файла с объектными модулями двух файлов: в первый из них помещается нереентерабельная часть программы, а во второй - реентерабельная. [3]
Использование процедур упрощает создание реентерабельных загрузочных модулей. [4]
Если в процессе загрузки операционной системы реентерабельные загрузочные модули были помещены в область LPA, то в операторе DD с именем STEPLIB описывается только библиотека с нереентерабельным модулем. [5]
Средства Фортрана 77 обеспечивают создание и выполнение реентерабельных загрузочных модулей. Они позволяют оформлять программу, состоящую из основной программы и необязательных подпрограмм, в виде одного нереентерабельного и одного или нескольких реентерабельных загрузочных модулей. Количество реентерабельных загрузочных модулей планируется пользователем и не может превышать число программных единиц, составляющих программу. Допускается включать в реентерабельный загрузочный модуль одну, несколько или все программные единицы. Состав реентерабельных загрузочных модулей пользователь определяет исходя из конкретных условий. [6]
Планирование структуры программы в виде одного нереентерабельного и одного реентерабельного загрузочного модуля или в виде одного нереентерабельного и нескольких реентерабельных загрузочных модулей начинается уже на этапе разделения. В нашем примере рассматриваются два варианта организации программы. [7]
Основным выходом этапа редактирования является один нереентерабельный и один или несколько реентерабельных загрузочных модулей, размещенных в библиотеках на дисках. Наибольшая эффективность при использовании реентерабельных модулей достигается в тех случаях, когда на время выполнения такие модули помещаются в специальную ( системную) область основной памяти. [8]
После редактирования программа представляет собой один нереентерабельный и один или несколько реентерабельных загрузочных модулей. Выполнение программы начинается с нереентерабельного модуля. В процессе его выполнения производится загрузка реентерабельных загрузочных модулей из библиотек на дисках или из системной области. [9]
Все программные секции и загрузочные модули, составляющие вновь создаваемый редактором связей реентерабельный загрузочный модуль, также должны быть реентерабельными. [10]
Планирование структуры программы в виде одного нереентерабельного и одного реентерабельного загрузочного модуля или в виде одного нереентерабельного и нескольких реентерабельных загрузочных модулей начинается уже на этапе разделения. В нашем примере рассматриваются два варианта организации программы. [11]
Управляющая информация, которая строится в файлах SYSUT1 и SYSUT2, предназначена для редактирования и выполнения программы. Для каждого реентерабельного загрузочного модуля строится оператор Редактора связей NAME с именем модуля, а для каждой программной секции нереентерабельного загрузочного модуля обеспечивается текстовая константа с именем реентерабельного загрузочного модуля. [12]
Этот параметр определяет имя реентерабельного загрузочного модуля и задается, если структура программы планируется в виде двух модулей: одного нереентерабельного и одного реентерабельного. В том случае, когда программа должна быть спланирована в виде одного нереентерабельного и нескольких реентерабельных модулей ( по числу программных единиц), параметр задавать не требуется, так как имена реентерабельных загрузочных модулей будут порождаться из имен программных единиц. [13]
Объектные модули, полученные после трансляции в наборе данных с именем ААА, требуется разделить на две части: нереентерабельную часть поместить в набор данных с именем NAAA, а реентерабельную - в набор данных с именем RAAA. Для каждой программной единицы планируется получить отдельный реентерабельный загрузочный модуль. [14]
Средства Фортрана 77 обеспечивают создание и выполнение реентерабельных загрузочных модулей. Они позволяют оформлять программу, состоящую из основной программы и необязательных подпрограмм, в виде одного нереентерабельного и одного или нескольких реентерабельных загрузочных модулей. Количество реентерабельных загрузочных модулей планируется пользователем и не может превышать число программных единиц, составляющих программу. Допускается включать в реентерабельный загрузочный модуль одну, несколько или все программные единицы. Состав реентерабельных загрузочных модулей пользователь определяет исходя из конкретных условий. [15]