ВУЗ:
Составители:
21
ме. Иногда это свойство – работа в привилегированном режиме – служит ос-
новным определением понятия «ядро».
Приложения ставятся в подчиненное положение за счет запрета выполне-
ния в пользовательском режиме некоторых критичных команд, связанных с пе-
реключением процессора с задачи на задачу, управлением устройствами ввода-
вывода, доступом к механизмам распределения и защиты памяти. Выполнение
некоторых инструкций в пользовательском режиме запрещается безусловно
(очевидно, что к таким инструкциям относится инструкция перехода в приви-
легированный режим), тогда как другие запрещается выполнять только при оп-
ределенных условиях. Например, инструкции ввода-вывода могут быть запре-
щены приложениям при доступе к контроллеру жесткого диска, который хра-
нит данные, общие для ОС и всех приложений, но разрешены при доступе к по-
следовательному порту, который выделен в монопольное владение для опреде-
ленного приложения. Важно, что условия разрешения выполнения критичных
инструкций находятся под полным контролем ОС, и этот контроль обеспечива-
ется за счет набора инструкций, безусловно запрещенных для пользовательско-
го режима.
Аналогичным образом обеспечиваются привилегии ОС при доступе к па-
мяти. Например, выполнение инструкции доступа к памяти для приложения
разрешается, если инструкция обращается к области памяти, отведенной дан-
ному приложению операционной системой, и запрещается при обращении к
областям памяти, занимаемым ОС или другими приложениями. Полный кон-
троль ОС над доступом к памяти достигается за счет того, что инструкция или
инструкции конфигурирования механизмов защиты памяти (например, измене-
ния ключей защиты памяти в мэйнфреймах IBM или указателя таблицы деск-
рипторов памяти в процессорах Pentium) разрешается выполнять только в при-
вилегированном режиме.
Очень важно, что механизмы защиты памяти используются операцион-
ной системой не только для защиты своих областей памяти от приложений, но
и для защиты областей памяти, выделенных ОС какому-либо приложению, от
остальных приложений. Говорят, что каждое приложение работает в своем ад-
ресном пространстве. Это свойство позволяет локализовать некорректно рабо-
тающее приложение в собственной области памяти, так что его ошибки не ока-
зывают влияния на остальные приложения и операционную систему.
Между количеством уровней привилегий, реализуемых аппаратно, и ко-
личеством уровней привилегий, поддерживаемых ОС, нет прямого соответст-
вия. Так, на базе четырех уровней, обеспечиваемых процессорами компании In-
tel, операционная система OS/2 строит трехуровневую систему привилегий, а
операционные системы Windows NT, UNIX и некоторые другие ограничивают-
ся двухуровневой системой.
С другой стороны, если аппаратура поддерживает хотя бы два уровня
привилегий, то ОС может на этой основе создать программным способом сколь
угодно развитую систему защиты.
Страницы
- « первая
- ‹ предыдущая
- …
- 19
- 20
- 21
- 22
- 23
- …
- следующая ›
- последняя »