Cтраница 3
Наряду с управлением ресурсами важнейшей функцией супервизора является обработка прерываний, заключающаяся в установлении типа прерывания ( ситуации, возникшей в вычислительном процессе) и подключении к работе программ супервизора, закрепленных за каждым типом прерываний. При этом выполнение текущей программы приостанавливается ( с запоминанием управляющей информации, необходимой для продолжения работы программы), а возможность подключения ее к работе определяется на основе результата обработки соответствующего прерывания. [31]
Блок динамической трансляции адресов является аппаратным средством организации виртуальной памяти, построенной на базе внешнего дискового накопителя, и служит для организации страничного обмена между ОП и внешней памятью под управлением программы супервизора. [32]
Если программа пользователя требует от супервизора обращения к ячейке, указанной в этой программе, команда SPKA может использоваться супервизором для проверки того обстоятельства, что программе пользователя это обращение разрешено при условии, что программа супервизора не защищена от выборки. Программа супервизора может выполнять проверку путем замены своего ключа PSW ключом программы пользователя до выполнения обращения с последующим восстановлением первоначального значения ключа PSW программы супервизора. [33]
При выполнении программы могут возникнуть различные ситуации, вызванные ошибками в данных и программе: переполнение, деление на нуль, потеря значимости, некорректный код операции, ошибки адресации, обращение к несуществующей ячейке памяти или устройству, обращение за пределы выделенной программе области памяти ( нарушение защиты памяти) и др. В этих ситуациях внутри процессора вырабатываются сигналы прерывания, которые обрабатываются программами супервизора, анализирующими возникшую ситуацию. Результаты анализа передаются программе пользователя. Если продолжение выполнения программы невозможно, то задача снимается с решения. [34]
Если программа пользователя требует от супервизора обращения к ячейке, указанной в этой программе, команда SPKA может использоваться супервизором для проверки того обстоятельства, что программе пользователя это обращение разрешено при условии, что программа супервизора не защищена от выборки. Программа супервизора может выполнять проверку путем замены своего ключа PSW ключом программы пользователя до выполнения обращения с последующим восстановлением первоначального значения ключа PSW программы супервизора. [35]
Описаны результаты выполнения проекта большой операционной системы Multics, в которой применены технология ядра защиты, принципы управления информационным потоком и методы верификации программ. Поскольку программа центрального супервизора содержит 54 000 операторов ( в основном на языке ПЛ / 1), а механизмы защиты предусмотрены лишь частично, при реализации было решено упростить супервизор и разработать ряд механизмов защиты, которые можно было бы описать простыми, легкодоступными для понимания моделями. Затем была выполнена программная реализация супервизора и проведена его верификация. [36]
Управление задачами осуществляется супервизорами. Часть программ супервизоров входит в ядро операционной системы, остальные вызываются в оперативную память по мере необходимости. Супервизоры координируют обслуживание выполняющихся программ ресурсами системы, исключая их влияние друг на друга. [37]
Супервизор - это основной набор программ операционной системы, который управляет вычислительным процессом в ЕС ЭВМ. Большая часть программ супервизора находится в памяти и называется ядром супервизора, или резидентом системы. [38]
Кп запоминаются на регистре прерывания РгПр. Состояние РгЗщ изменяется по командам программ супервизора. Сигналы с регистров РгПр и РгЗщ поступают в схему обзора СхО, в которой выделяется запрос на прерывание, имеющий наиболее высокий приоритет. Приоритеты запросов, хранимых на РгПр, уменьшаются слева направо в порядке нумерации разрядов регистра. Сигнал на выходе элемента И1 принимает единичное значение в том случае, если соответствующий разряд РгПр хранит запрос Я - 1 и одноименный разряд РгЗщ находится в единичном состоянии zt 1, разрешая прерывание по i - й причине. Таким образом, в любой момент времени на выходе - СхО формируется только один сигнал запроса на прерывание, соответствующий наиболее приоритетному запросу. В схеме кодирования СхКод вырабатывается двоичный код К k k k соответствующий номеру выдвинутого запроса. [39]
Порядок выполнения действия в мультипрограммной системе зависит от программы, исполнением которой загружен вычислитель. Наличие привилегированных операций и необходимость защиты программ супервизора от возможных помех со стороны основных программ приводит к необходимости выделения состояния, при котором вычислитель занят исполнением программ супервизора. Поскольку основные программы используют таблицы служебных данных, например таблицы размещения страниц в памяти, то при переключении вычислителя на выполнение очередной программы должны переключаться соответствующие средства работы с таблицами. Переключение этих средств привязывает адреса таблиц данных к исполняемым вычислителем программам. Подобные действия обеспечиваются переключением состояний вычислителя. Каждому выделенному состоянию соответствует определенный режим работы вычислителя, характеризуемый отношением вычислителя к сигналам и информации, с которой работает система. [40]
Передает управление программам РЗ Супервизора. Информация, необходимая для пуска РЗ программ Супервизора, хранится также в постоянно фиксированной области основной памяти в поле, называемом новым ССП. Аналогично старым ССП для каждого класса прерываний выделены свои поля для хранения нового ССП. [41]
Кроме состояния супервизор-задача в мультипрограммных ЭВМ вводятся следующие пары альтернативных состояний процессора: счет-ожидание и работа-стоп. В состоянии счет процессор занят выполнением прикладных программ и программ супервизора. В состоянии ожидания процессор не выполняет команд, а ожидает сигнал прерывания, по поступлении которого работа будет продолжена. В состоянии работа процессор может выполнять счет по программе или находиться в ожидании сигнала прерывания, будучи готовым приступить к работе. В состоянии стоп процессор прекращает выполнение команд и не реагирует на сигналы прерывания. Из состояния стоп процессор может быть выведен только с инженерного пульта управления. [42]
Для выполнения действий, выходящих за рамки возможностей непривилегированных операций, используются программы супервизора. Обращение к ним инициируется командой ОБРАЩЕНИЕ К СУПЕРВИЗОРУ, при выполнении которой процессор переключается в состояние супервизор и управление передается супервизору. Данная команда прерывает работу процессора - прекращает выполнение прикладной программы и инициирует работу супервизора. [43]
Системы с разделением времени разрабатываются либо как самостоятельные операционные системы, либо как пакеты прикладных программ, расширяющие возможности ОС. При разработке пакетов программ вносятся изменения в Планировщик, Главный планировщик и в программы Супервизора. [44]
Отметим, что ни привилегированные команды, ни программы супервизора не привязаны к фиксированной области памяти, что не позволяет обеспечить защиту этих команд и программ только с помощью механизма защиты памяти. Другими словами, если не приняты дополнительные меры, то любой пользователь может написать программу супервизора и также выдать привилегированные команды. Поэтому вычислительная система должна знать то состояние, в котором привилегированная команда может либо выполняться, либо аппаратно интерпретироваться в ЦП. Если состояние указывает, что пользователь выполняемой программы является, например, администратором системы и ему разрешено использование привилегированных команд, то программа может быть выполнена и команда исполнена. [45]