Встроенные средства защиты. Принципы модульности и перемещаемости. Проверка привилегированности сегмента

Страницы работы

Содержание работы

Встроенные средства защиты

Большинство операционных систем организует свои функции в виде набора процедур, которые могут быть вызваны из различных программ. В незащищенной системе прикладные программы могут вызывать процедуры ОС обычными командами CALL и INT, как это и делается в MS DOS. Такой подход является быстрым, но требует от пользовательских программ, чтобы в них не было ошибок, которые могли бы повлиять на работу системы. В большинстве случаев по такому принципу построены встроенные системы различного назначения. В незащищенной системе ничто не запрещает “некорректной” задаче вызвать процедуру ОС и как-нибудь видоизменить (испортить) ее.

Строго говоря, операционная система MS DOS, использующая реальный режим, не  защищена от прикладных программ. MS DOS не имеет сколько-нибудь надежного механизма защиты памяти. в MS DOS все основано на выполнении программами “джентльменского соглашения” о не разрушении операционной системы. Если программа не изменяет содержимого сегментных регистров, она работает с теми сегментами памяти, которые ей выделены операционной системой. Однако ничто не мешает любой программе загрузить в сегментные регистры любое значение, в том числе адреса сегментов операционной системы, и это - существенный недостаток MS DOS.

Чтобы исключить подобные действия “злонамеренных” пользовательских программ, современные компьютеры содержат встроенные средства защиты. Многие  большие  и  мини ЭВМ  реализуют  схему  “супервизор - пользователь”.  ОС  работает в привилегированном режиме  “супервизор”, и ей доступны все ресурсы компьютера: вся память, все команды процессора и т.п. Пользовательские программы работают в режиме “ пользователь” и имеют  доступ только к тем участкам памяти, которые выделены им ОС. Защита накладывает на обычные программы, не входящие в ОС, три типа ограничений:

- обычным программам запрещается выполнять некоторые команды;

- обычным программам должны быть недоступны определенные области памяти;

- в программы ОС можно войти только в разрешенных точках входа. В защищенной системе пользовательские программы не могут читать и записывать данные в более привилегированные программы ОС. Кроме того, из пользовательских программ нельзя непосредственно вызывать процедуры ОС. Используя механизм защиты, процессор автоматически предотвращает выполнение в пользовательской программе тех операций, которые должны выполняться программами ОС.

Использование защиты актуально в однопользовательских системах и совершенно необходимо и обязательно в многопользовательских и многозадачных системах.

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

Модульность означает, что система состоит из модулей, для которых разработан стандарт на межмодульные связи.

Перемещаемость предполагает построение модулей безотносительно к месту их загрузки и исполнения.

Принципы модульности и перемещаемости обеспечили возможность организовать эффективную работу коллективов программистов при создании сложных программных систем, в том числе,  операционных систем.

Принцип защиты позволяет оградить программы пользователей  и программы операционной системы от взаимного влияния. Защита исключает возможность для пользователя преднамеренно или ошибочно  модифицировать программу или данные другого пользователя; прочесть данные другого пользователя без разрешения; снизить возможности другого пользователя по использованию процессора, памяти или других ресурсов.

В то же время у различных пользователей могут быть и общие интересы (совместное использование общих массивов, процедур и т.п.). Поэтому в защищенной системе необходимо разрешить пользовательской программе доступ к некоторым операциям (процедурам) ОС, которые ей нужны от ОС. Для этого ОС определяет одну или несколько разрешенных точек входа в программы  ОС. Благодаря этому пользовательские программы могут получить от ОС только те обслуживания, которые этим программам разрешено оказывать.

Проблема защиты является многогранной и включает в себя такие аспекты как привилегии, защита областей памяти, защита файлов, защита от зацикливаний и т. п. Для обнаружения и идентификации ошибок процессоры 80х86 фирмы Intel сконструированы со встроенным механизмом защиты. Этой же цели способствует организация памяти, предусматривающая сегментацию и взаимное разделение адресных пространств различных задач с помощью дескрипторных таблиц. В защищенном режиме обычным пользовательским программам запрещены модификация областей памяти, принадлежащих операционной системе, и доступ к областям памяти, выделенным задаче, со стороны других задач (пользователей). Другими словами, в защищенном режиме реализован принцип разделения адресного пространства пользовательских программ от адресного пространства операционной системы  и адресных пространств отдельных пользователей друг от друга. Для эффективного управления всей системой программам ОС разрешен доступ к памяти всех программ, а пользовательским программам для получения необходимого обслуживания от ОС обеспечен доступ к программам ОС в разрешенных точках входа. Для поддержки указанных функций защиты в систему команд процессора введены некоторые привилегированные команды, которые доступны только операционной системе и не могут выполняться в прикладных программах и, кроме того, в структуре процессора имеется ряд регистров, к которым закрыт доступ со стороны пользовательских программ.

Похожие материалы

Информация о работе