Cтраница 1
![]() |
Структура слова состояния программы. [1] |
Выполнение любой программы в ЭВМ производится под управлением слова состояния программы ( ССП), в котором фиксируются адрес выполняемой команды, маска системы и маска программы, код прерывания и другая информация, необходимая для выполнения программы. Маска - это двоичное число, каждый разряд которого разрешает ( если его состояние 1) или запрещает ( если его состояние 0) прерывание от запроса, поступающего от отдельного устройства или команды в ССП. [2]
Выполнение любой программы может распадаться на несколько этапов, и при выполнении различных этапов может использоваться один и тот же программный модуль. [3]
Выполнение любой программы канала начинается по команде SIO. Перед этим в CAW должно быть записано нужное значение, содержащее ключ защиты памяти и адрес первой команды программы канала. По команде SIO проверяется работоспособность канала и УВВ и незанятость их другим вводом-выводом. Затем проверяется правильность CAW и первого CCW, и, если все нормально, запускается программа канала. Команда SIO устанавливает признак результата равным нулю, если программа канала начала выполняться. В противном случае признак результата приобретает другие значения. После команды SIO в программе обычно следует команда ВС, передающая управление блоку обработки необычных ситуаций ввода-вывода при ненулевом значении признака результата. [4]
Для выполнения любой программы необходимы по меньшей мере два ресурса: основная память для хранения команд и данных и центральный процессор ( ЦП) для исполнения команд программы. Эти ресурсы могут быть представлены программистом, если он программирует на машинном языке. Однако такой способ мало приемлем для больших программ и совершенно не подходит для управляющих вычислительных систем, где, как правило, должно происходить динамическое перераспределение ресурсов между несколькими прикладными программами, одновременно находящимися в основной памяти УВМ. [5]
![]() |
Общая процедура прерывания. [6] |
Управление выполнением любой программы производится в соответствии с информацией, содержащейся в ССП. Слово состояния программы, которое управляет выполняемой в данный момент времени программой, называется текущим. При прерывании это ССП должно запоминаться в оперативной памяти, а на его место должно вводиться ССП, отвечающее прерывающей программе. Поэтому каждой группе прерываний отвечают два ССП, называемые соответственно старым и новым и размещаемые в определенных ( фиксированных) ячейках оперативной памяти. [7]
При выполнении любой программы для ее нужд операционная система выделяет целое число блоков основной памяти и присваивает этой программе четырехбитовый ключ защиты памяти. Значение ключа защиты памяти помещается в ключ памяти каждого блока, выделенного этой программе. [8]
Как уже указывалось, выполнение любой программы производится под управлением текущего ССП. Если в составе ЦУУ выделяется специальный регистр слова состояния программы ( РССП), как это сделано, например, в машинах ЕС-1050 и ЕС-1030, то информация, содержащаяся в текущем ССП, хранится в этом регистре. При этом РССП обычно разделяется на две части, хранящие соответственно старшие и младшие разряды ССП. Части РССП функционально могут относиться к различным блокам ЦУУ: РССП [0-31 ], например, к блоку прерываний, а РССП [32-63 ] - к блоку выборки команд. [9]
![]() |
Пример программы с перекрытием. [10] |
Фортрана, которые должны присутствовать в памяти при выполнении любой программы на Фортране. [11]
![]() |
Пример программы с перекрытием. [12] |
Фортрана, которые должны присутствовать в памяти при выполнении любой программы на Фортране. К ним относятся программы, управляющие операциями ввода-вывода и реализующие используемые в Фортране средства диагностики. Указанные программы включаются автоматически в корневой сегмент при редактировании каждой программы на Фортране, если не указан специальный режим, отменяющий это действие. [13]
Так как не было никаких отмен, исключительная ситуация ZERODIVIDE при выполнении любой программы является включенной. [14]
Операционная система создана, кроме всего прочего, для загрузки в память и выполнения любой программы, находящейся в библиотеке. [15]