Основные функции операционных систем
□ Прием от пользователя (или от оператора системы) заданий, или команд, сформулированных на соответствующем языке, и их обработка. Задания могут передаваться в виде текстовых директив (команд) оператора или в форме указаний, выполняемых с помощью манипулятора (например, с помощью мыши). Эти команды связаны, прежде всего, с запуском (приостановкой, остановкой) программ, с операциями над файлами (получить перечень файлов в текущем каталоге, создать, переименовать, скопировать, переместить тот или иной файл и др.), хотя имеются и иные команды.
□ Загрузка в оперативную память подлежащих исполнению программ.
□ Распределение памяти, а в большинстве современных систем и организация виртуальной памяти.
□ Запуск программы (передача ей управления, в результате чего процессор исполняет программу).
□ Идентификация всех программ и данных.
□ Прием и исполнение различных запросов от выполняющихся приложений. Операционная система умеет выполнять очень большое количество системных функций (сервисов), которые могут быть запрошены из выполняющейся программы. Обращение к этим сервисам осуществляется по соответствующим правилам, которые и определяют интерфейс прикладного программирования (Application Program Interface, API) этой операционной системы.
□ Обслуживание всех операций ввода-вывода.
□ Обеспечение работы систем управлений файлами (СУФ) и/или систем управления базами данных (СУБД), что позволяет резко увеличить эффективность всего программного обеспечения.
□ Обеспечение режима мультипрограммирования, то есть организация параллельного выполнения двух или более программ на одном процессоре, создающая видимость их одновременного исполнения.
□ Планирование и диспетчеризация задач в соответствии с заданными стратегией и дисциплинами обслуживания.
□ Организация механизмов обмена сообщениями и данными между выполняющимися программами.
□ Для сетевых операционных систем характерной является функция обеспечения взаимодействия связанных между собой компьютеров.
□ Защита одной программы от влияния другой, обеспечение сохранности данных, защита самой операционной системы от исполняющихся на компьютере приложений.
□ Аутентификация и авторизация пользователей (для большинства диалоговых операционных систем). Под аутентификацией понимается процедура проверки имени пользователя и его пароля на соответствие тем значениям, которые хранятся в его учетной записи. Очевидно, что если входное имя (login) пользователя и его пароль совпадают, то, скорее всего, это и будет тот самый пользователь. Термин авторизация означает, что в соответствии с учетной записью пользователя, который прошел аутентификацию, ему (и всем запросам, которые будут идти к операционной системе от его имени) назначаются определенные права (привилегии), определяющие, что он может, а что не может делать на компьютере.
□ Удовлетворение жестким ограничениям на время ответа в режиме реального времени (характерно для операционных систем реального времени).
□ Обеспечение работы систем программирования, с помощью которых пользователи готовят свои программы.
□ Предоставление услуг на случай частичного сбоя системы.
Операционная система изолирует аппаратное обеспечение компьютера от прикладных программ пользователей. И пользователь, и его программы взаимодействуют с компьютером через интерфейсы операционной системы. Это можно проиллюстрировать, например, рис. 1.
Человек Программы
Рис. 1. Взаимодействие пользователя и его программ с компьютером
через операционную систему