Глава 3. Уровни привилегий.3.1. Концепция уровней привилегий.Термин "привилегии" подразумевает права или возможности, которые обычно не разрешаются. Введение "неравноправия" программ в виде уровней привилегий является средством защиты кодовых сегментов и сегментов данных операционной системы. Защищаются программы операционной системы различных уровней иерархии от ошибок в пользовательских программах и программах операционной системы более низких уровней иерархии. Уровни привилегий обычно изображаются в виде колец защиты, показанных на рис. 5. Внешние кольца защиты соответствуют более высокому логическому уровню управления, но наименьшему уровню защиты. Рис. 5. Уровни привилегий и кольца защиты. Механизм защиты МП х86 поддерживает до четырех уровней привилегий. Количество реализованных уровней привилегий определяется используемой операционной системой. Операционная система необязательно должна поддерживать все четыре уровня привилегий. Простую незащищенную систему можно целиком реализовать в одном уровне привилегий. Традиционные системы супервизор/пользователь работают с двумя уровнями: супервизору (т.е. операционной системе) назначается уровень 0, а пользователям - уровень 3; примером такой системы может служить операционная система UNIX. Операционная система OS/2 поддерживает три уровня: код операционной системы работает на уровне 0, прикладные программы выполняются на уровне 3 и специальные процедуры для обращения к устройствам ввода-вывода действуют на уровне 2. Четыре уровня привилегий МП iх86 обозначаются номерами: 0, 1, 2 и 3. Чем меньше номер уровня, тем меньше его логический уровень управления, но тем более он привилегирован и имеет большую степень защиты. Уровень 0 является наиболее, а уровень 3 - наименее привилегированными. На рис. 5 нулевой уровень привилегий присвоен ядру операционной системы. Первый уровень предназначен для драйверов устройств и утилит. Второй уровень - для программ разработчиков комплексных систем. Третий уровень - для программ пользователей. Проверка защиты по уровням привилегий осуществляется при выполнении почти каждой машинной команды во время работы МП в защищенном режиме (Р-режиме). МП в Р-режиме постоянно следит за тем, чтобы текущая программа была достаточно привилегированна для:
Строго говоря, в МП iх86 реализованы две системы защиты по уровням привилегий.
Вторая (дополнительная) система реализована в рамках механизма трансляции
страниц и рассматривается в разд. 4.2.3.
|