Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
FoxPro / Методички_по_БД / ОрганизациЭВМ и систем_Учеб_пособие.doc
Скачиваний:
150
Добавлен:
11.05.2015
Размер:
2.4 Mб
Скачать

Защита памяти по маскам

Защита памяти по маскам используется при страничной организации ОП. Для каждой программы перед её выполнением указываются номера страниц, отведенные для размещения её команд и всех необходимых данных. Указание о номерах отведенных страниц для данной программы задается управляющей программой операционной системы в виде кода маски или кода признаков страниц. Код маски формируется для каждой рабочей программы. Под маской программы понимается n-разрядный двоичный код, разрядность которого определяется количеством страниц ОП. Каждый i-й разряд маски указывает о принадлежности i-й страницы ОП данной программе: если в i-м разряде задано значение 1, то при обращении к ОП разрешен доступ к любой ячейке i-ой страницы, если же i-й разряд маски содержит ноль, то выполняемой программе доступ к i-й странице запрещен.

Перед выполнением программы её код маски по специальной команде засылается в регистр маски РМ (рис. 4.21) блока защиты. При каждом обращении к ОП код номера страницы из исполнительного адреса загружается в регистр номера страницы РС и затем расшифровывается дешифратором номера страницы ДШС. На одном из выходов этого дешифратора, номер которого равен номеру страницы, появляется единичный сигнал. Если в соответствующем этой странице двоичном разряде кода маски программы задана единица, то схема сравнения выдает сигнал разрешения передачи адреса ячейки в ОП, в противном случае схема сравнения вырабатывает сигнал прерывания программы.

По сравнению с защитой по граничным адресам защита памяти по маскам отличается большей гибкостью при организации распределения ОП. Для своей реализации данный метод не требует сложного оборудования.

Однако при большой емкости ОП, состоящей из значительного количества страниц, она становится неэффективной. Это связано с многоразрядностью кода маски, возрастанием сложности дешифратора номера страниц и всего БЗП, а также заметным увеличением времени работы БЗП по формированию управляющих сигналов.

Защита памяти по ключам

Защита памяти по ключам (уровням привилегий) используется в большинстве современных многопрограммных ЭВМ со страничной организацией памяти и динамическим её распределением между параллельно выполняемыми программами. В её основе лежит применение специальных кодов (уровней) для проверки соответствия используемых массивов ячеек памяти номеру выполняемой программы.

Каждой рабочей программе ОС придает специальный ключ — ключ программы.Все выделенные для данной рабочей программы страницы отмечаются одним и тем же ключом страницы илиключом защиты.В качестве ключа защиты обычно указывается двоичный код номера программы. В процессе обращения к ОП производится сравнение ключа выполняемой программы с ключами защиты соответствующих страниц памяти. Обращение разрешается только при совпадении сравниваемых кодов ключей. Защита памяти по ключам применяется не только при работе ОП с процессором, но и в ходе обмена информацией с ВЗУ через каналы ввода-вывода. Тогда вместо ключей программ используютсяключи каналов.Разрядность кодов ключей определяется максимальным количеством параллельно выполняемых программ.

Структура БЗП по ключам приведена на рис. 4.22. Его основу составляет память ключей защиты ПКЗ адресного типа. Емкость ПКЗ строго соответствует количеству страниц. Разрядность ячеек ПКЗ равна разрядности кодов ключей (k) с добавлением одного или нескольких разрядов для задания режима защиты (j). Ввод кодов защиты в ПКЗ осуществляется под управлением ОС при каждом распределении поля ОП между параллельно выполняемыми программами и каналами ввода-вывода, а также при любом перераспределении поля ОП. Выборка информации из ПКЗ производится по номерам страниц, представляемых старшими разрядами кода адреса ячейки ОП, по которому идет обращение к ОП.

Кроме ПКЗ в состав блока защиты памяти входят: дешифратор номера страниц ДШС для расшифровки кодов номеров страниц; регистр ключей защиты РКЗ для фиксации выбираемых из ПКЗ кодов; регистр ключей программ РКП для приема и хранения кодов ключей программ, поступающих из регистра слова состояния программы (системного регистра) процессора, или кодов ключей каналов; узел сравнения ключей УСК для сравнения ключей защиты с ключами программ (или каналов).

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

Функционирование БЗП начинается с ввода в ДШС кода номера страницы ОП, к которой производится обращение. По номеру страницы из ПКЗ выбирается соответствующий ключ защиты, код которого помещается в РКЗ. В УСК код ключа защиты сравнивается с кодом ключа программы (канала) и формируются управляющие сигналы разрешения или прерывания.

Защита памяти по ключам (уровням привилегий) является наиболее универсальной и гибкой, особенно эффективной при страничной или сегментно-страничной организации виртуальной памяти и динамическом её распределении. Однако такой способ защиты требует для своей технической реализации заметных дополнительных аппаратных затрат, прежде всего необходима ПКЗ с очень небольшим временем выборки кода ключей. Память ключей защиты строится так, чтобы время выборки кода было практически на порядок меньше времени выборки из ОП.

Соседние файлы в папке Методички_по_БД