Под операционной системой будем понимать комплекс управляющих и обрабатывающих программ, который, с одной стороны, выступает как интерфейс между аппаратурой компьютера и пользователем с его задачами, а с другой – предназначен для наиболее эффективного использования ресурсов вычислительной системы и организации надежных вычислений. Любой из компонентов прикладного программного обеспечения обязательно работает под управлением ОС. Ни один из компонентов программного обеспечения, за исключением самой ОС, не имеет непосредственного доступа к аппаратуре компьютера. Даже пользователи взаимодействуют со своими программами через интерфейс ОС. Любые их команды, прежде чем попасть в прикладную программу, сначала проходят через ОС.
Основными функциями, которые выполняют ОС, являются следующие:
- приём от пользователя (или от оператора системы) заданий или команд, сформулированных на соответствующем языке – в виде директив (команд) оператора или в виде указаний (своеобразных команд) с помощью соответствующего манипулятора (например, с помощью «мыши»), – и их обработка;
- приём исполнение программных запросов на запуск, приостановку, остановку других программ;
- загрузка в оперативную память подлежащих исполнению программ;
- инициация программы (передача ей управления, в результате чего процессор исполняет программу);
- идентификация всех программ и данных;
- обеспечение работы систем управления файлами (СУФ) и/или системы управления базами данных (СУБД), что позволяет резко увеличить эффективность всего программного обеспечения;
- обеспечение режима мультипрограммирования, то есть выполнения двух или более программ на одном процессоре, создающее видимость их одновременного исполнения;
- обеспечение функций по организации и управлению всеми операциями ввода/вывода;
- удовлетворение жёстким ограничениям на время ответа в режиме реального времени (характерно для соответствующих ОС);
- распределение памяти, а в большинстве современных систем и организация виртуальной памяти;
- планирование и диспетчеризация задач в соответствии с заданными стратегией и дисциплинами обслуживания;
- организация механизмов обмена сообщениями и данными между выполняющимися программами;
- защита одной программы от влияния другой; обеспечение сохранности данных;
- предоставление услуг на случай частичного сбоя системы;
- обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы.
Основное назначение ОС – рациональное и координированное управление аппаратными ресурсами вычислительной системы для достижения высокой производительности и предоставления пользовательского интерфейса к этим ресурсам.
В связи с этим назначением и функциями к операционным системам предъявляются следующие требования:
1) Надежность. В случае ошибок система должна уметь восстановить потерянную информацию или, если это не возможно, должна свести потери к минимуму.
2) Безопасность. Защита от несанкционированного доступа.
3) Эффективность. Большая часть ресурсов должна быть доступна для использования и максимально задействована.
4) Предсказуемость ошибок в программе, возможность их исправления.