Cтраница 1
Асинхронное прерывание [ asynchronous system trap ] - прерывание, возникновение которого не привязано к определенной точке программы. К таким прерываниям относятся внешние прерывания и прерывания, связанные с выполнением другого процесса. [1]
Все асинхронные прерывания, кроме прерываний повторного пуска, маскируемы. Если условие асинхронного прерывания распознано процессором и замаскировано, то оно хранится до тех пор, пока не будет размаскировано, после чего соответствующее прерывание произойдет. Условия замаскированных асинхронных прерываний не сохраняются. Некоторые условия асинхронных прерываний могут быть сняты программно. [2]
В состоянии Счет асинхронное прерывание кроме прерываний от схем контроля, может произойти лишь между выполнениями команд. Программное прерывание и прерывание от схем контроля могут нарушить нормальное выполнение команды, во время которого распознано условие прерывания. [3]
Целочисленный тип, объекты которого доступны даже при асинхронных прерываниях. [4]
В функции основных компонентов системы ОС РВ входят: мультипрограммирование, приоритетная диспетчеризация, сочетание ее с диспетчеризацией квантования времени, временная выгрузка задач на диск, выходы из синхронных и асинхронных прерываний, восстановление по отказу питания, динамическое распределение памяти, разбиение памяти на разделы, управляемые системой или пользователем, автоматическое уплотнение памяти, широкие возможности работы с файловой системой ОС РВ на дисках различных типов, магнитных лентах, преобразование файлов в форматах ДОС и ФОБОС к формату файловой структуры ОС РВ и обратно, работа с резидентными разделяемыми библиотеками модулей и общими областями данных, широкое взаимодействие задач, высокая реактивность запуска задач, динамическая реконфигурация внешних устройств, независимость ввода - вывода от внешних устройств, многотерминальная работа, динамическая загрузка и выгрузка задач на диск, программирование на базе трансляторов с языков макроассемблера и ФОРТРАН IV, работа с библиотеками макроопределений и объектных модулей, диалоговое и пакетное редактирование, широкий переменный набор команд оператора. [5]
Синхронные прерывания вызываются особенностями управляющих или обрабатываемых данных, участвующих в текущей операции процессора, например специальным или неопределенным кодом операции, неправильным форматом операнда или ССП. Причины асинхронных прерываний возникают вне программы и не связаны непосредственно с выполняемой операцией. Асинхронные пребывания обеспечивают синхронизацию параллельных процессов, протекающих з вычислительной системе. [6]
Все асинхронные прерывания, кроме прерываний повторного пуска, маскируемы. Если условие асинхронного прерывания распознано процессором и замаскировано, то оно хранится до тех пор, пока не будет размаскировано, после чего соответствующее прерывание произойдет. Условия замаскированных асинхронных прерываний не сохраняются. Некоторые условия асинхронных прерываний могут быть сняты программно. [7]
Возможность для асинхронного прерывания обеспечивала только модель HEARSAY-III, хотя такое прерывание можно было бы также легко реализовать в моделях RLL и AGE с помощью правил или источников знаний, которые активировались бы при получении незатребованных сообщений или отчетов. [8]
Основной особенностью системы является возможность работы в ДОС КП программ, составленных для операционных систем РАФОС и ОС РВ. Исключение составляют программы, использующие средства указанных систем, характерные для обработки данных в реальном времени - временную диспетчеризацию выполнения задач, обработку синхронных и асинхронных прерываний и др. Другой важной особенностью операционной системы ДОС КП является применение языка Бейсик, расширенного системными функциями, обеспечивающими доступ программ практически ко всем системным ресурсам. [9]
Для простоты мы могаи себе позволить считать, что имеем дело с последовательной синхронной вычислительной системой, и игнорировали многие не столь известные и более сложные аспекты вычислительных систем, такие, как программирование ввода-вывода, процессоры ввода-вывода, групповые центральные процессоры, параллельные вычисления и асинхронные прерывания. [10]
Все асинхронные прерывания, кроме прерываний повторного пуска, маскируемы. Если условие асинхронного прерывания распознано процессором и замаскировано, то оно хранится до тех пор, пока не будет размаскировано, после чего соответствующее прерывание произойдет. Условия замаскированных асинхронных прерываний не сохраняются. Некоторые условия асинхронных прерываний могут быть сняты программно. [11]
Все асинхронные прерывания, кроме прерываний повторного пуска, маскируемы. Если условие асинхронного прерывания распознано процессором и замаскировано, то оно хранится до тех пор, пока не будет размаскировано, после чего соответствующее прерывание произойдет. Условия замаскированных асинхронных прерываний не сохраняются. Некоторые условия асинхронных прерываний могут быть сняты программно. [12]
Если при выполнении прерываемой команды имеют место условия прерывания ввода-вывода, внешнего прерывания или прерывания от схем контроля, то прерывание, вызываемое наступлением программного события, происходит первым, а возможность прерываний ввода-вывода, внешнего прерывания или прерывания от схем контроля определяется битами масок в новом PSW. Аналогично, если во время выполнения прерываемой команды процессор должен перейти в состояние стоп, но уже возникло условие прерывания по программному событию, то это прерывание произойдет до перехода в состояние стоп. Если возникает особый случай при динамической переадресации и имеется еще не обработанное условие прерывания по программному событию, то оно указывается вместе с условием, возникшим при переадресадии. Обычно программное событие не вызывает прерывания выполнения команды, которая является прерываемой, если нет какого-либо другого условия, вызывающего асинхронное прерывание. Однако на некоторых моделях в определенных ситуациях программное событие может прервать выполнение такой команды даже при отсутствии условия асинхронного прерывания или особого случая в программе. [13]
Если при выполнении команды, допускающей прерывание, одновременно с запросом на прерывание с целью регистрации событий в программе появляются запросы на прерывание от ввода-вывода ( внешние) или от схем аппаратного контроля машины, то первым обрабатывается прерывание для регистрации событий в программе. Выполнение остальных прерываний управляется битами маски нового PSW. Таким же образом при переходе CPU в состояние стоп при выполнении команды, допускающей прерывание, сначала выполняется прерывание по запросу на прерывание с целью регистрации событий в программе, а затем происходит переход в состояние стоп. Когда лоявляется запрос на прерывание от средств динамической переадресации ( DAT), запрос на прерывание с целью регистрации действий программы указывается одновременно с запросом DAT. Как правило, если нет других причин, способных вызвать - асинхронное прерывание, то наступление события в программе не возбуждает преждевременного прерывания команды, допускающей прерывание. Однако в ряде моделей в некоторых ситуациях прерывание для регистрации событий в программе может произойти до окончания команды, даже если нет причин для асинхронного прерывания или программных прерываний. [14]
Если при выполнении прерываемой команды имеют место условия прерывания ввода-вывода, внешнего прерывания или прерывания от схем контроля, то прерывание, вызываемое наступлением программного события, происходит первым, а возможность прерываний ввода-вывода, внешнего прерывания или прерывания от схем контроля определяется битами масок в новом PSW. Аналогично, если во время выполнения прерываемой команды процессор должен перейти в состояние стоп, но уже возникло условие прерывания по программному событию, то это прерывание произойдет до перехода в состояние стоп. Если возникает особый случай при динамической переадресации и имеется еще не обработанное условие прерывания по программному событию, то оно указывается вместе с условием, возникшим при переадресадии. Обычно программное событие не вызывает прерывания выполнения команды, которая является прерываемой, если нет какого-либо другого условия, вызывающего асинхронное прерывание. Однако на некоторых моделях в определенных ситуациях программное событие может прервать выполнение такой команды даже при отсутствии условия асинхронного прерывания или особого случая в программе. [15]