Cтраница 1
Привилегированные операции ( команды) могут использоваться только в программах супервизора и недопустимы в прикладных программах. [1]
Появление привилегированной операции в режиме целевой программы вызывает прерывание и переход к супервизору, который разбирается в законности требований целевой программы и либо указывает пользователю на ошибку в его программе, либо выполняет затребованное действие с помоцью своих подпрограмм. [2]
Чтобы контролировать порядок использования привилегированных операций, принято выделять два альтернативных состояния процессора: состояние супервизор, в котором процессор выполняет программы супервизора, и состояние задача, в котором процессор выполняет прикладные программы. В состоянии супервизор допускается выполнение любых операций, а в состоянии задача - только непривилегированных операций. Если процессор находится в состоянии задача, появление в программе привилегированной операции считается ошибкой и выполнение программы прекращается. Состояние супервизор-задача устанавливается командой, инициирующей программу. Эта команда относится к классу привилегированных и используется только супервизором. Если инициируется прикладная программа, то устанавливается состояние задача; если инициируется программа супервизора, процессор переключается в состояние супервизор. [3]
В режиме ЗАДАЧА вычислительной системы используется привилегированная операция. [4]
От состояния пары задача-супервизор зависит отношение вычислителя к привилегированным операциям. Если вычислитель находится в состоянии супервизор, то все команды являются допустимыми. В состоянии задача все команды ввода-вывода и системные операции рассматриваются как недопустимые и появление привилегированной операции является причиной прерывания. Переключение вычислителя в состояние задача или супервизор происходит при занесении нового ССП, например в случае прерывания. [5]
Появление привилегированной команды в состоянии задача называется особым случаем по привилегированной операции и вызывает программное прерывание. [6]
В обычном режиме работы машины попытка использовать в программе какую-либо привилегированную операцию влечет за собой прерывание этой программы. В привилегированном режиме беспрепятственно выполняются любые машинные операции. Как уже отмечалось, привилегированный режим устанавливается ап-паратно, когда в результате прерывания осуществляется переход на. [7]
Команды управления программой включают условные и безусловные передачи управления, а также привилегированные операции. [8]
В мультипрограммных системах пользователь не имеет, как правило, непосредственного доступа к управлению периферийным оборудованием: команды ввода-вывода относятся к привилегированным операциям. Это сделано потому, что время, необходимое для ввода-вывода информации периферийными устройствами, супервизор-использует для решения других задач. Если, например, целевая программа произведет, помимо супервизора, ввод массива данных из дисковой памяти, то процессор на период 200 или 300 мсек может оказаться бездействующим, а это время в больших машинах достаточно для исполнения нескольких десятков тысяч арифметических операций. Следовательно, только супервизор может определять, когда и какое периферийное устройство должно включаться в работу. [9]
В мультипрограммных системах пользователь не имеет, как правило, непосредственного доступа к управлению периферийным оборудованием: команды ввода-вывода относятся к привилегированным операциям. Это сделано потому, что время, необходимое для ввода-вывода информации периферийными устройствами, супервизор использует для решения других задач. Следовательно, только супервизор может определять, когда и какое периферийное устройство должно включаться в работу. [10]
Порядок выполнения действия в мультипрограммной системе зависит от программы, исполнением которой загружен вычислитель. Наличие привилегированных операций и необходимость защиты программ супервизора от возможных помех со стороны основных программ приводит к необходимости выделения состояния, при котором вычислитель занят исполнением программ супервизора. Поскольку основные программы используют таблицы служебных данных, например таблицы размещения страниц в памяти, то при переключении вычислителя на выполнение очередной программы должны переключаться соответствующие средства работы с таблицами. Переключение этих средств привязывает адреса таблиц данных к исполняемым вычислителем программам. Подобные действия обеспечиваются переключением состояний вычислителя. Каждому выделенному состоянию соответствует определенный режим работы вычислителя, характеризуемый отношением вычислителя к сигналам и информации, с которой работает система. [11]
![]() |
Защита памяти по признакам. [12] |
Ключи памяти хранятся в памяти ключей, которая защищена от доступа со стороны основных программ. Для обращения к памяти ключей служат привилегированные операции УСТАНОВИТЬ КЛЮЧ ПАМЯТИ и ПРОЧИТАТЬ КЛЮЧ ПАМЯТИ. По команде УСТАНОВИТЬ КЛЮЧ ПАМЯТИ К В четырехразрядный код, хранимый по адресу К, заносится в ячейку В памяти ключей и становится ключом блока В. По команде ПРОЧИТАТЬ КЛЮЧ ПАМЯТИ Д В выполняется обращение к памяти ключей, и ключ блока В заносится в ячейку К основной памяти. Назначение ключей памяти производится при распределении памяти между программами. Ключ программы указывается в ССП и при включении программы в работу хранится на регистре ключа программы. Для защиты памяти при вводе-выводе данных ключ программы представляется в адресном слове канала. Ключ программы запоминается в канале, и при работе канала адреса управляющих слов И адреса данных проверяются по данному ключу. [13]
Это единственная из программ системы, которой разрешено пользоваться привилегированными операциями. СУПЕРВИЗОР управляет ходом выполнения любой из задач, с ввода задания до получения результатов. От выполняемой программы управление передается СУПЕРВИЗОРУ по сигналу прерывания, а после обработки прерывания СУПЕРВИЗОР определяет программу, которой он и передает управление дальнейшим ходом процесса. [14]
ЕХ может быть выполнена любая другая команда кроме команды ЕХ. Естественно, что в режиме задача пользовательская программа не имеет права выполнять привилегированные операции. [15]