Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
• Обработка прерываний
• Учет использования ресурсов
• Текущий контроль системы
Нетрудно понять, зачем нужны два вышеуказанных режима. Необходимо защитить операционную систему и ее основные таблицы, такие, как управляющие блоки процессов, от воздействия пользовательских программ. Программы, работающие в режиме ядра, обладают полным контролем над процессором и всеми его командами и регистрами, а также имеют доступ ко всем ячейкам памяти. Такой уровень привилегий пользовательским программам не нужен, поэтому, исходя из соображений безопасности, лучше сделать его недоступным для пользовательских программ.
В связи с этим возникают два вопроса: каким образом процессор может определить, в каком режиме должна выполняться данная программа, и как происходит переключение из одного режима в другой? Что касается ответа на первый вопрос, то в слове состояния программы имеется бит, в котором указывается режим выполнения. При некоторых событиях происходит изменение этого бита. Например, если пользователь вызывает службу операционной системы, устанавливается режим ядра (обычно это происходит в результате выполнения команд изменения режима). В качестве примера приведем команду Change Mode (CHM), с помощью которой происходит переключение режима на машинах VAX. Когда пользователь вызывает службу операционной системы или когда в результате прерывания управление переходит к процедуре операционной системы, эта процедура выполняет команду СНМ, чтобы включить более привилегированный режим. Перед тем как вернуть управление пользовательскому процессу, она снова выполняет эту команду, переводя процессор в режим с меньшими привилегиями. Если же команду СНМ попытается выполнить пользовательская программа, это приведет к передаче управления операционной системе, и если такое изменение режима пользовательской программой не разрешено, произойдет ошибка выполнения.
Дата публикования: 2014-11-04; Прочитано: 203 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!