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