Операционная система как интерфейс между пользователем и компьютером.
Пользователь, как правило, не интересуется деталями устройства аппаратного обеспечения компьютера, он видится ему как набор приложений. Приложение можно написать на каком-то из языков программирования. Чтобы упростить эту задачу имеется набор системных программ, некоторые из которых называют утилитами, с их помощью реализуется часто исполнение Функции, которые помогают при создании пользовательских программ в работе с файлами и управление устройствами ввода/вывода. Программист использует эти средства при разработке этих программ, а приложения во время выполнения обращаются к утилитам для выполнения определённых функций. Наиболее важной из системных программ являются операционные системы, которые скрывает от программиста детали аппаратного обеспечения и предоставляет удобный интерфейс для исполнения системы операционной среды. Может включать несколько интерфейсов:
1) пользовательский;
2) программный
Например, система Linux им. для пользователя как интерфейсные команды (различные оболочки): C-Shell, K-Shell, B-Shell, bash-shell.
ИНТЕРФЕЙС ТИПА Midnight Commander.
Так и графические интерфейсы (X Windows). В нём могут быть различные менеджеры окон (KDE Grome).
Что касается программных интерфейсов, то операционная система Windows программы может обращаться как операционная система за соответствующими сервисами и функциями, так и к графической подсистеме. С точки зрения архитектуры процессора, вторая программа, созданная для работы в Linux использует те же команды и форматы данных, что и программа, созданная для работы в среде Windows. Однако в первом случае имеет место обращение к операционной среде, во втором – к другой. Таким образом, операционная среда – это то системное программное обеспечение, в котором могут выполняться программы, созданные по правилам работы этой среды.
Типичные операционные системы предоставляют следующие сервисы:
1) разработка программ. Операционная система предоставляет программисту разнообразные инструменты и сервисы, например, редакторы и отладчики. Эти сервисы, реализованные в виде программных утилит, которые поддерживают операционные системы, хотя и не входят в его ядро, такие программы называют инструментами разработки приложений;
2) исполнение программ. Для запуска программы требуется выполнить ряд действий. Следует загрузить в основную память команды и данные, инициализировать устройства. Операционная система выполняет рутинную работу;
3) доступ к устройствам ввода/вывода. Для управления работой каждым устройством ввода/вывода нужен свой набор команд или контролируемый сигнал. Операционная система предоставляет пользователю единообразный интерфейс, который вскрывает все эти детали и обеспечивает программисту доступ к устройствам ввода/вывода с помощью простых команд чтения и записи;
4) контролируем доступ к файлам. При работе с файлами, управление его стороны операционной системы предназначено не только понимание природы устройств ввода/вывода и знание структур данных записанные в файлах. Многопользовательские операционные системы, кроме того, обеспечивают работу механизмов защиты при обращении к файлам;
5) системы доступа. Операционная система управляет доступом к общедоступной вычислительной системе в целом, а также к отдельным системным ресурсам. Она должна обеспечить защиту ресурсов и данных от несанкционированного использования, также разрешать конфликтные ситуации;
6) обнаружение ошибок и их обработка. При работе компьютерной системы происходят различные сбои, к их числу относятся внутренние и внешние ошибки, возникшие в аппаратном обеспечении, например, ошибки памяти, отказ или сбой устройств, возможны и программные ошибки: арифметическое переполнение, попытка обратиться к ячейке памяти, доступ к которым запущен и невозможность выполнения запроса приложения. В каждом из этих случаев операционная система должна выполнить действие, минимизирующее влияние ошибки на работу приложения. Реакция операционной системы на ошибку может быть различной: от простого сообщения об ошибке, до аварийной остановки программы;
7) учёт использования ресурсов. Хорошая операционная система должна иметь средства учёта использования различных ресурсов и отображение параметров производителя. Эта информация крайне важна для дальнейшего улучшения и настройки система, для повышения производительности.