Способы защиты памяти
Download 53.07 Kb.
|
СР
2.3 Ключи защиты
Ключ защиты памяти Механизм (MPK) делит физическую память на блоки определенного размера (например, 4 КиБ), каждый из которых имеет соответствующее числовое значение, называемое ключом защиты. С каждым процессом также связано значение ключа защиты. При доступе к памяти оборудование проверяет соответствие ключа защиты текущего процесса значению, связанному с блоком памяти, к которому осуществляется доступ; в противном случае возникает исключение. Этот механизм был введен в архитектуру System / 360. Он доступен в современных мэйнфреймах System z и активно используется операционными системами System z и их подсистемами. Описанные выше ключи защиты System / 360 связаны с физическими адресами. Это отличается от механизма ключа защиты, используемого в таких архитектурах, как Hewlett-Packard /Intel IA-64 и Hewlett-Packard PA-RISC., которые связаны с виртуальными адресами и позволяют использовать несколько ключей для каждого процесса. В архитектурах Itanium и PA-RISC трансляции (TLB записи) имеют ключи (Itanium) или идентификаторы доступа (PA-RISC), связанные с ними. У запущенного процесса есть несколько регистров ключей защиты (16 для Itanium, 4 для PA-RISC). Трансляция, выбранная виртуальным адресом, имеет свой ключ по сравнению с каждым из регистров ключа защиты. Если какие-либо из них совпадают (плюс другие возможные проверки), доступ разрешен. Если ничего не найдено, генерируется ошибка или исключение. При желании обработчик ошибок программного обеспечения может проверить недостающий ключ по большему списку ключей, поддерживаемых программным обеспечением; таким образом, регистры ключей защиты внутри процессора могут рассматриваться как программно-управляемый кэш большего списка ключей, связанных с процессом. PA-RISC имеет 15–18 битов ключа; Itanium требует не менее 18. Ключи обычно связаны с доменами защиты, такими как библиотеки, модули и т. д. В x86 архитектура ключей защиты позволяет помечать виртуальные адреса для пользовательских страниц любым из 16 ключей защиты. Все страницы, помеченные одним и тем же ключом защиты, составляют домен защиты. Новый реестр содержит разрешения, связанные с каждым доменом защиты. Операции загрузки и сохранения проверяются на соответствие как разрешениям таблицы страниц, так и разрешениям ключа защиты, связанным с доменом защиты виртуального адреса, и разрешаются только в том случае, если оба разрешения разрешают доступ. Разрешения ключа защиты можно установить из пространства пользователя, что позволяет приложениям напрямую ограничивать доступ к данным приложения без вмешательства ОС. Поскольку ключи защиты связаны с виртуальным адресом, домены защиты относятся к каждому адресному пространству, поэтому процессы, выполняемые в разных адресных пространствах, могут использовать все 16 доменов. Download 53.07 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling