Cтраница 2
Как показано на рис. 6.2, управляющая память выделяется из старших адресов памяти. CPU хранит границу проверки адреса ( в регистре границы проверки адреса), которая устанавливается при загрузке микропрограмм. При попытке обращения к области памяти, лежащей выше границы проверки адреса, со стороны команды CPU или операции ввода-вывода возникает прерывание программ с целью проверки адреса. При попытке обращения со стороны микропрограммы к области управляющей памяти, лежащей ниже границы проверки адреса, возникает прерывание от системы аппаратного контроля. Если в качестве запоминающего устройства процессора используются устройства типа 3345 или 3346, то младшие адреса памяти относятся к этому устройству. [16]
Регистры границ являются полезным средством для ограничения взаимных обращений программ. Однако для этого необходимо использовать непрерывные области памяти достаточно большой длины, чтобы применение регистров границ было эффективным. [17]
Для контроля доступа и управления аппаратными ресурсами операционная система должна иметь возможность однозначной адресации к ним. Трудностей в связи с этим не возникает, поскольку и периферийные устройства, и центральные процессоры имеют свои уникальные идентификаторы. Расположение отдельных областей памяти можно определить по содержимому регистров границ памяти, значениям флажков и ключей или элементов таблиц перемещений виртуальной памяти. Операционная система различает программы по их именам и точкам входа, а хранимые на внешних устройствах наборы данных - по именам наборов. [18]
Считается, что нулевой и первый уровень принадлежат программам ( процедурам) операционной системы, от имени которых производится обращение к самому внешнему блоку рабочей программы. В регистр F - центрального процессора машины помещается адрес MSCW по стеку, в регистр базы стека помещается начало стека, в регистр границы стека - нижняя граница стека, в регистр S, указывающий текущее состояние стека, помещается адрес последнего занятого слова в стеке. Кроме того, в стек помещается некоторая другая информация, значение которой для рассматриваемого примера не представляет особого интереса. С этого момента внешний блок может реально выполняться. [19]
В функции средств защиты памяти входят разрешение реализации программы и запись в область памяти только данной задачи, ограниченной регистрами границ. Схема защиты имеет два программно устанавливаемых 8-разрядных регистра верхней и нижней границ. Содержание регистров определяет область памяти, выделенную для задачи. Каждый адрес ячейки памяти, используемый в команде, сравнивается с помощью сумматора с содержимым регистров границ. [20]