Защита памяти

Защита памяти (англ. Memoryprotection) — способ управления правами доступа к отдельным регионам памяти. Используется большинством многозадачных операционных систем. Основной целью защиты памяти является запрет доступа процессу к той памяти, которая не выделена для этого процесса. Такие запреты повышают надежность работы как программ так и операционных систем, так как ошибка в одной программе не может повлиять непосредственно на память других приложений. Следует различать общий принцип защиты памяти и технологии ASLR или NX-бит. Защита по уровню привилегий. В защищенном режиме процессор имеет четырехуровневую систему привиле¬гий, которая управляет использованием привилегированных инструкций и до¬ступом к сегментам памяти. Уровень привилегии сегмента указывается в его дескрипторе. Нумерация уровней происходит от 0 до 3, высшие привилегии соответствуют нулевому уровню. Уровни привилегий обеспечивают защиту целостности операционной системы от «недружелюбных» программ. А также защиту адресных пространств одновременно выполняемых задач. Сервисы операционной системы, обра¬ботчики прерываний и другое системное обеспечение могут включаться в вир¬туальное адресное пространство каждой задачи и защищаться системой приви¬легий. Как правило, назначение уровней следующее. Нулевой уровень – уровень операционной системы (ядро операционной системы). Уровни 1 и 2 – программы системного назначения. Уровень 3 – прочие прикладные программы (уровень прикладных программ). Дескрипторы (сегменты) и селекторы имеют свои атрибуты привилегий.защита по функциональному назначению.

Для надежной работы многозадачных систем необходима защита задач друг от друга. Защита предназначена для предотвращения несанкционированного до¬ступа к памяти и выполнения критических инструкций — команды HLT, которая останавливает процессор, команд ввода/вывода, управления флагом разреше¬ния прерываний и команд, влияющих на сегменты кода и данных. Механизмы защиты вводят следующие ограничения: • Ограничение использования сегментов (например, запрет записи в только читаемые сегменты данных или попытки исполнения данных как кода). Для использования доступны только сегменты, дескрипторы которых описаны в GDT иLDT; • Ограничение доступа к сегментам через правила привилегий; • Ограничение набора инструкций — выделение привилегированных инст¬рукций или операций, которые можно выполнять только при определенных уровнях CPL и IOPL;• Ограничение возможности межсегментных вызовов и передачи управления.


 

Понятие безопасности для операционных систем и сред. Требования. Степени защиты

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

 

Требования, предъявляемые к операционным системам реального времени

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

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

· ОС должна обеспечивать предсказуемые механизмы синхронизации задач Задачи разделяют данные (ресурсы) и должны сообщаться друг с другом, следовательно, должны существовать механизмы блокирования и коммуникации.

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

· Поведение ОС должно быть известно