Операционное окружение

Операциомнное окружемние - среда, в которой пользователь запускает программу. Например, операционное окружение DOS состоит из всех команд DOS, доступных пользователю. С другой стороны, операционное окружение Macintosh включает в себя графический интерфейс пользователя, использующий иконки и меню вместо команд.

Режимы работы

Чтобы конкурирующие процессы не могли взаимно влиять друг на друга, часть команд компьютера должны быть зарезервированы для исполнения только ОС. Эти привилегированные инструкции должны представлять такие инструкции, как:

· инициирование и ликвидация прерываний;

· переключение процессов между процессами;

· доступ к регистрам, используемый оборудованием защиты памяти;

· выполнение ввода/вывода;

· остановка CPU и управление его операциями (пример: инициирование и ликвидация внутренних механизмов таких, как элементы ускорения операций с плавающей точкой и кэшей памяти).

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

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

Переключение из режима пользователя в режим супервизора происходит автоматически в следующих случаях:

· пользовательский процесс вызывает ОС для выполнения некоторых системных функций, требующих привилегированных команд. Такие вызовы называются вызовами супервизора или системными вызовами;

· возникновение прерываний;

· возникновение ошибки в пользовательском процессе. Это условие можно понимать как "внутреннее прерывание” и обрабатываться в первую очередь соответствующей процедурой прерывания;

· когда делается попытка выполнения привилегированной инструкции в режиме пользователя. Эта попытка может рассматриваться как особый вид ошибки и обрабатываться как в случае (с);

Переключение из режима супервизора назад в режим пользователя происходит по привилегированной команде.

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