Cтраница 3
Супервизора второго уровня тем, что постоянно находится в памяти. Независимо от числа пользователей и числа центральных процессоров в мультипроцессорных системах резидентный Супервизор находится в основной памяти в единственном числе, не подвергается квантованию времени, и его выполнение осуществляется без настройки адресов. [31]
Весьма общий тип схемы загрузки, который будет рассмотрен в гл. Это механизм, с помощью крторого загрузка и связывание по внешним ссылкам откладываются до выполнения программы. Это означает, что ассемблер вырабатывает текст и информацию для объединения и настройки адресов для исходной программы. Загрузчик загружает только основную программу. Только теперь выполняется фактическая загрузка в память сегмента, содержащего внешний адрес, к которому было сделано обращение. [32]
Заглушка вместо входа модуля G, занимающегося настройкой адресов, может содержать лишь оператор возврата, а вместо модуля С - печатать свои входные параметры. Поскольку следует тестировать и обработку ошибок в модуле А, нужны одна или несколько заглушек для функции настройки адресов - при вызове они должны возвращать код соответствующей ошибки. Это указывает на один из недостатков использования заглушек. При тестировании различных условий в программах часто требуется, чтобы модуль выдавал разные наборы выходных данных. [33]
До сих пор мы не рассматривали, каким образом реально загружаются подпрограммы и как выполняется редактирование связей с вызывающими программами. При абсолютном ассемблировании все программы и подпрограммы создавались совместно, для них выполнялось распределение памяти, а адреса подпрограмм хранились в таблице идентификаторов ассемблера. Если же каждая программа ассемблируется как отдельный модуль, то необходимо решить задачу распределения памяти для них и выполнить настройку адресов. [34]
В управляющих ЦВМ, использующих внешние накопители для хранения программ и констант типа магнитных лент, барабанов или дисков, кроме перечисленных зон оперативной памяти используются минимум еще две зоны для хранения программ. Эта зона кроме того может содержать типовые константы для преобразования и перекодирования информации, широко используемые в программах. Вторая зона служит для хранения более редко включаемых программ на время их переписи из внешних накопителей и обработки соответствующих сообщений. Центральный диспетчер или его часть, называемая программой загрузки обеспечивает вызов необходимой программы, ее поиск и перепись в оперативную память с соответствующим контролем правильности выполнения этих операций. Кроме того, при переписи программы из внешней памяти в ОЗУ производится настройка адресов переписываемой программы в соответствии с местом, выделенным ей в оперативной памяти. Объем зоны должен обеспечивать хранение достаточно больших массивов программы ( тысячи команд), так как частое обращение к внешним накопителям может значительно снизить эффективное быстродействие управляющей ЦВМ. Особое внимание необходимо обращать на защиту и контроль информации в этих двух зонах, так как даже малые искажения в важнейших программах могут резко изменить характеристики всего управляемого процесса. [35]
Каждая клавиша занимает одно из двух положений - выдвинутое или вдвинутое. Соотношение вдвинутых и выдвинутых клавиш создает адрес. Пружины 5 стремятся поставить клавиши в выдвинутое положение. Палец 3 с рычагами 6 прижимается пружиной 7 к выступам кулачков и не позволяет кулачкам изменить свое положение и тем самым фиксирует адрес. При сбрасывании адреса или настройке нового адреса палец 3 принудительно выводится из зацепления с кулачками клавиш, и клавиши пружинами 5 ставятся в выдвинутое положение. Настройка адреса производится с помощью настройщика адреса ( рис. 230), имеющего сбрасывающий ролик 3 и настраивающие ролики 4, которые могут находиться во вдвинутом или выдвинутом положении. Направляющий ролик 2 адресоносителя ( см. рис. 229 6) заходит в направляющие / ( рис. 230) настройщика адреса, чем обеспечивается точное взаимное положение клавиш адресоносителя и настраивающих роликов 4 настройщика. Сбрасывающий ролик воздействует на срабатывающий рычаг адресоносителя, сбрасывая адрес. Затем клавиши адресоносителя устанавливаются настраивающими роликами в положение, соответствующее новому адресу, и палец 3 адресоносителя ( см. рис. 229) фиксирует новый адрес. Определение адреса, зафиксированного на адресоносителе, и подача сигналов на исполнительные механизмы для осуществления той или иной технологической операции производятся специальными считывающими устройствами, подающими сигнал на систему управления стрелками. [36]