Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КЛАССИФИКАЦИЯ СИСТЕМ ОБРАБОТКИ ДАННЫХ .DOC
Скачиваний:
14
Добавлен:
17.06.2016
Размер:
472.58 Кб
Скачать

3. На основе ключей защиты памяти.

ПКЗ – память ключей защиты;

РКЗ – регистр ключей защиты;

РССП – регистр слова состояния программы;

ТРО – триггеры режима обращения.

Суть данного метода заключается в том, что вся память разбивается на блоки, каждому из которых присваивается свой ключ. В свою очередь каждая программа, загружаемая в ОП, получает ключ, соответствующий ключу блока, который она загружает. Кроме того, устанавливается режим защиты (в четвертом разряде РКЗ). Он может быть или «защита по записи» – значение равно 0, или «защита по записи считывания» - значение равно 1. При выполнении программы происходит обращение к соответствующей ячейке памяти, при этом старшие разряды адреса одновременно поступают в ПКЗ. Из ПКЗ считывается соответствующий ключ, который сравнивается с ключом, находящимся в РССП. Комбинационная схема КСх вырабатывает сигнал прерывания, если значения ключей не совпадают или сигнал разрешения обращения при совпадающих ключах защиты. Нулевое значение ключей защиты, которые размещаются в РССП или являются ключами программы, говорят о том, что данная программа имеет высший уровень привилегий, и данная программа может изменять информацию в памяти. Как правило, такие команды являются привилегированными, и программы ОС имеют нулевые ключи защиты (ключи программы).

В современных микропроцессорах на основе ТС и таблиц дескрипторов сегментов осуществляется защита памяти с использованием уровней привилегий. Тогда выполняются следующие виды защиты:

  1. Защита программ ОС от пользовательских программ;

  2. Защита программ пользователей друг от друга;

  3. Защита программ ОС друг от друга;

  4. Защита пользовательских программ от внутренних ошибок.

Каждая программа, которая выполняется в машине, имеет свой уровень привилегий. И ОС, и прикладные программы могут иметь нулевой уровень привилегий. Это значит, что любая программа имеет доступ к любой ячейке памяти и может соответствующим образом изменить информацию. Это говорит о незащищенной, или открытой системе. Значения уровня привилегий находятся в таблице дескрипторов (ТД). В ТД выделяется специальный разряд, который указывает на уровень привилегий данного сегмента памяти.

На практике: нулевой уровень привилегий имеет программу ОС, а остальные уровни привилегий имеют прикладные программы (ПП). В данном случае мы защищаем ОС от ПП. Существует возможность защиты программы ОС друг от друга. Тогда нулевой уровень имеет ядро ОС: некоторая часть основных программ, а первый уровень имеют утилиты ОС.

ПП имеют третий уровень привилегий. Таким образом решается защита памяти, используя несколько уровней привилегий.

11. Организация прерываний

Каждая система в каждый момент времени имеет некоторые значения триггеров, регистров, ячеек памяти. Эти значения являются состояниями системы. Чтобы обработать запрос на прерывание, а затем вернуться к выполнению программы с того момента, где она была прервана, необходимо восстановить состояние системы. Из всего количества состояний выбираются некоторые, которые способствуют восстановлению системы. Информация о состоянии процессора или о состоянии программы хранится в слове состояния программы, а это слово хранится в регистре. Этот регистр называется РССП, или РСС процессора. При этом не обязательно иметь строго выделенный РССПр. Можно иметь регистр, набор триггеров, счетчик, которые в общем составляют РССПр.

Второй подход обработки прерываний основан на использовании вектора прерываний. В качестве вектора прерываний выступает некоторый адрес, который указывает на начало программы обработки прерывания.

ПРИНЦИПЫ ОРГАНИЗАЦИИ СИСТЕМ ПРЕРЫВАНИЙ

Одна из причин, которая отражается на сложности системы прерывания – это то, что момент возникновения прерывания неизвестен.

Совокупность аппаратных и программных средств, предназначенная для быстрого реагирования на прерывание, называется системой прерывания. Система прерывания выполняет следующие функции:

  1. Запоминание состояния прерываемой программы и осуществление перехода к прерывающей программе.

  2. Определение порядка обслуживания запросов на прерывание.

  3. Восстановление состояния прерываемой программы.

Характеристики системы прерываний.

  1. Общее количество запросов.

  2. Время реализации – это время между появлением запроса на прерывание и началом выполнения обработки прерывания.

  1. Затраты времени на переключение программ (t издержек):

а) время запоминания t3

б) время восстановления tвосст.

tизд. = t3 + tвосст.

  1. Глубина прерывания – это количество программ, которые могут прерывать друг друга.

  1. Насыщение системы прерывания – это количество запросов на обработку к моменту прихода следующего запроса от того же источника.

  1. Момент обслуживания запроса на прерывание:

а) обслуживание после выполнения команды;

б) обслуживание после выполнения такта;

в) немедленное обслуживание.

  1. Число уровней запроса:

а) прерывание по машинным ошибкам;

б) прерывание от повторного пуска;

в) программные прерывания;

г) прерывание при обращении к супервизору;

д) внешние прерывания;

е) прерывания от устройств ввода-вывода.

Наивысший приоритет имеет первый уровень (так как реализация на неисправной технике ни к чему хорошему не приводит).

  1. Программные прерывания – это те прерывания, которые определены пользователем.

  2. Аппаратные прерывания – это все остальные прерывания (ввод-вывод, машинные ошибки и т.д.).

Существует 2 класса:

  1. Внутренние прерывания (к ним относят прерывания от схем контроллера, программные прерывания).

  2. Внешние прерывания (это прерывания от устройств ввода-вывода).

Приоритет существует для фиксации запросов на прерывание, а обслуживание производится в другом приоритете. Наивысший приоритет обслуживания имеют 1, 6, 5, 4, 3, 2.

Обработка запросов на прерывание, когда

используем слово состояния программы.

Когда выполняется программа, то в РгССП имеется вся информация, необходимая для выполнения и восстановления программы (маски прерываний, код длины команды, признаки вычислений, ключ программы, адрес следующей команды). Когда получен запрос на прерывание, то завершилось выполнение команды и вся информация находится в РгССП. В ОП имеется фиксированная область, предназначенная для хранения слов состояния программы – область старых ССП. Каждому уровню прерываний соответствует своя ячейка. После остановки процесса вычисления вычисляется адрес старого ССП, этот адрес вычисляется на основе уровней запроса. После этого текущее ССП заносится в соответствующее место в области старых ССП. В ОП также в фиксированных ячейках имеется область новых ССП. После записи текущего ССП в область старых ССП, определяется адрес ячейки с новым ССП. Адрес определяется добавлением 1 в старший разряд адреса. Таким образом нашли адрес и перемещаем его в РгССП. В РгССП находится слово, которое связано с обрабатывающей программой. Она начинает выполняться. Она по коду прерывания, который находится в старых ССП, перейдет к конкретной программе, которая обслуживает прерывание. Выполняется сохранение всех данных, которые сохраняются на регистрах; обеспечивается выполнение этой прерывающей программы и затем восстанавливается регистр с данными. После восстановления из области старых ССП возвращается запомненное ССП и продолжается программа.

  1. Фиксация запроса.

  2. Запоминание ССП.

  3. Вычисление нового адреса ССП.

  4. Загрузка нового ССП.

  5. Выполнение программной обработки запроса.

  6. Возвращение в старое ССП.

  7. Продолжение вычислений.

Обработка запросов прерывания на основе

вектора прерываний

Вектор – адрес программы обработки запросов (начало программы). Программа обработки запросов обеспечивает сохранение данного ССП в памяти. Она сохраняет те регистры данных, которые необходимо сохранить. Затем эта же программа загружает новое ССП. Оно определяется этой программой, происходит вычисление, а затем возврат старого ССП. Программа выполняется дальше.