Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Уровни привилегий для защиты адресного пространства задач.






Для того, чтобы запретить пользователю задач модифицировать область памяти, принадлежащую ОС надо иметь специальные средства, одного разграничения адресного пространства через механизм сегментов мало, так как можно указывать различное значение адреса начала сегмента и тем самым получать доступ к чужим сегментам, то есть надо в явном виде разграничивать системные сегменты от сегментов пользователя. Поэтому были введены два режима процессора: пользовательский режим и режим ядра. В режиме ядра программа может выполнять все действия и иметь доступ по любым адресам в пользовательском режиме существует ограничения, чтобы обнаруживать и пресекать запрещенные действия, перехватывать их и передавая их управление ядру ОС, в пользовательском режиме запрещается выполнение команды ввода-вывода и некоторые других, чтобы гарантировать, что только ОС выполняет эти операции, то есть эти два режима имеют разные уровни привилегий. Микропроцессоры i80x86 имеют 4 уровня привилегий, часто уровни привилегий называются кольцами защиты, так как это помогает объяснить принцип действия самого механизма. Для указания уровня привилегий используются два вида, поэтому код 00 обозначает самый высший уровень, а 11 низший. Самый высший уровень привилегий предназначен для ядра ОС, низкий - прикладных задач. Промежуточные уровни привилегий введены для большей свободы системных программистов в организации надежных вычислений при создании ОС. Предполагается, что уровень с кодом 1 может быть использован для систем сервиса - программ, обслуживающих аппаратуру, работу с портами ввода/вывода. Уровень привилегий с кодом 2 может быть использован для создания пользовательских интерфейсов, систем управления базами данных, то есть для реализации специальных системных функций, которые по отношению к ядру ОС ведут себя как обычные приложения. На практике используются только два уровня: 0 и 3.

Таким образом, режим ядра для микропроцессора i80*86 соответствует выполнению кода с уровнем привилегии 0 (PL0). Именно уровень привилегий задач определяет, какие команды в них можно использовать, какое подмножество сегментов или страниц в их адресном пространстве они могут обрабатывать.

Основными системными объектами, которыми манипулирует процессор в защищенном режиме, являются дескрипторы. Дескрипторы сегментов содержат информацию об уровне привилегий соответствующего сегмента кода или данных.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.