Автор работы: Пользователь скрыл имя, 26 Октября 2011 в 23:15, реферат
Как уже было сказано ранее, эффективная работа механизмов распределения памяти и управления этим ресурсом невозможна только за счет программных средств. Необходимо, чтобы отдельные механизмы были реализованы на аппаратном уровне.
Иными словами, прикладные программы не могут напрямую обращаться к системным данным, а обратный процесс возможен (например, в результате выполнения операции ввода/вывода заполняется буфер прикладной программы). Нарушение этого соотношения влечет ошибку защиты памяти.
При доступе к сегменту стека необходимо, чтобы
CPL = RPL = DPL
Соответственно, мы имеем 4 сегмента стека, каждый из которых соответствует своему кольцу защиты.
Правила для передачи управления, т.е. когда осуществляется межсегментная передача управления с одного кольца защиты на другой, несколько сложнее. Передача управления с высоко привилегированного сегмента на менее привилегированный должна контролироваться дополнительно (например, описанием соответствующей функции как callback). И обратно, нельзя просто так давать прикладным задачам возможность выполнить высоко привилегированный код. Для реализации возможностей передачи управления в сегменты с иным уровнем привилегий введен специальный механизм шлюзования.
Информация о работе Аппаратные средства процессора x86 для управления памятью