Аналогичным образом, с помощью простых и ясных абстракций, скрываются от программиста все ненужные подробности организации прерываний, работы таймера, управления памятью и т. д. Более того, на современных вычислительных комплексах можно создать иллюзию неограниченного размера операционной памяти и числа процессоров. Всем этим занимается операционная система.
Таким образом, операционная система представляется пользователю виртуальной машиной, с которой проще иметь дело, чем непосредственно с оборудованием компьютера.
Подход 2: Операционная система - менеджер ресурсов
Операционная система предназначена для управления всеми частями весьма сложной архитектуры компьютера. Представим, к примеру, что произойдет, если несколько программ, работающих на одном компьютере, будут пытаться одновременно осуществлять вывод на принтер. Мы получили бы мешанину строчек и страниц, выведенных различнымипрограммами. Операционная система предотвращает такого рода хаос за счет буферизации информации, предназначенной для печати, на диске и организации очереди на печать. Для многопользовательских компьютеров необходимость управления ресурсами и их защиты еще более очевидна. Следовательно, операционная система, как менеджер ресурсов, осуществляет упорядоченное и контролируемое распределение процессоров, памяти и других ресурсов между различными программами.
Подход 3:Операционная система - защитник пользователей и программ
Если вычислительная система допускает совместную работу нескольких пользователей, то возникает проблема организации их безопасной деятельности. Необходимо обеспечить сохранность информации на диске, чтобы никто не мог удалить или повредить чужие файлы. Нельзя разрешить программам одних пользователей произвольно вмешиваться в работу программ других пользователей. Нужно пресекать попытки несанкционированного использования вычислительной системы. Всю эту деятельность осуществляет операционная система как организатор безопасной работы пользователей и их программ. С такой точки зрения операционная система представляется системой безопасности государства, на которую возложены полицейские и контрразведывательные функции.
Подход 4: Операционная система - постоянно функционирующее ядро
Наконец, можно дать и такое определение: операционная система — это программа, постоянно работающая на компьютере и взаимодействующая со всеми прикладными программами. Казалось бы, это абсолютно правильное определение, но, как мы увидим дальше, во многих современных операционных системах постоянно работает на компьютере лишь часть операционной системы, которую принято называть ее ядром.
Как мы видим, существует много точек зрения на то, что такое операционная система. Невозможно дать ей адекватное строгое определение. Нам проще сказать не что есть операционная система, а для чего она нужна и что она делает.
На сегодняшний день можно констатировать, что операционная система (ОС)представляет собой комплекс системных управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между аппаратурой компьютера и пользователем с его задачами, а с другой стороны, предназначены для наиболее эффективного расходования ресурсов вычислительной системы и организации надежных вычислений.
Функции ОС:
1. Обеспечение интерфейса.
2. Обеспечение автоматического самозапуска.
3. Организация файловой системы.
4. Обслуживание файловой структуры.
5. Прием указаний от пользователя
6. Управление установкой, исполнением и удалением приложений.
7. Взаимодействие с аппаратным обеспечением.
8. Обслуживание компьютера.
9. Дополнительные функции.
10. Идентификация программ и данных
11. Прием и исполнение запросов от программ
12. Обеспечение операций ввода-вывода
13. Обеспечение работы СУФ или СУБД
14. Обеспечение взаимодействия связанных компьютеров
15. Аутентификация и идентификация пользователей
16. Предоставление услуг на случай сбоя системы
1. Обеспечение интерфейса
Интерфейс пользователя – интерфейс между пользователем и программно-аппаратными средствами компьютера.
Аппаратно-программный интерфейс – интерфейс между программным и аппаратным обеспечением.
Программный интерфейс – интерфейс между различными видами программного обеспечения.
Интерфейс пользователя | |
Командный | Графический |
Основное устройство управления – клавиатура. Управляющие команды вводятся в поле командной строки, глее их можно редактировать. Исполнение команды начинается после ее утверждения (например, клавишей Enter). | Основной инструмент управления наряду с клавиатурой – мышь или иное устройство позиционирования. Работа основана на взаимодействии активных и пассивных элементов управления. Активный элемент управления – указатель мыши. Пассивные элементы – графические элементы управления: экранные кнопки, флажки, переключатели, раскрывающиеся списки, строки меню и т. д. Характер взаимодействия между пассивными и активными элементами выбирает пользователь. |
2. Обеспечение автоматического самозапуска
Все ОС обеспечивают свой автоматический запуск. Для дисковых ОС в специальной области диска (системной) создается запись программного кода. Обращение к этому коду выполняют программы, находящиеся в BIOS. Когда эти программы завершают свою работу, то они дают команду на загрузку и исполнение содержимого системной области диска. Недисковые ОС присутствуют в специализированных вычислительных системах. Здесь автоматический запуск ОС производится аппаратно: при подаче питания процессор обращается к фиксированному адресу постоянной памяти, начиная с которого записана программа запуска ОС.
3. Организация файловой системы
Все современные дисковые ОС обеспечивают создание файловой системы, которая служит для хранения данных на дисках и обеспечения доступа к ним. Принцип организации файловой системы – табличный. Эта таблица располагается в системной области диска и содержит информацию о том, в каком месте жесткого диска записан тот или иной файл. ОС контролирует целостность и надежность этих данных.
4. Обслуживание файловой структуры
Данные о местоположении файлов хранятся в табличной структуре, но пользователю они представляются для удобства в виде иерархической структуры, а все преобразования берет на себя ОС. При обслуживании файловой структуры ОС выполняет следующие операции:
5. Прием от пользователя (или от оператора системы) заданий, или команд, сформулированных на соответствующем языке, и их обработка. Задания могут передаваться в виде текстовых команд оператора или в форме указаний, выполняемых с помощью манипулятора (например, с помощью мыши). Эти команды связаны, прежде всего, с запуском (приостановкой, остановкой) программ, с операциями над файлами (, хотя имеются и иные команды.
6. Управление установкой приложений
Для правильной работы приложений они сначала должны пройти процедуру установки. Она нужна из-за того, что при разработке ПО невозможно заранее предвидеть особенности аппаратной и программной конфигурации вычислительной системы, на которой будет работать это ПО. Поэтому дистрибутивный комплект ПО (установочный пакет) представляет собой не законченный программный продукт, а так называемый полуфабрикат, из которого в процессе установки формируется полноценное приложение. При этом происходит привязка приложения к существующей аппаратно-программной среде и настройка его на работу именно в этой среде.
7. Управление исполнением приложений
а. Загрузка в оперативную память подлежащих исполнению программ.
б. Распределение памяти, а в большинстве современных систем и организация виртуальной памяти.
в. Запуск программы (передача ей управления, в результате чего процессор исполняет программу).
г. возможность одновременной (режим мультипрограммирования) или поочередной работы нескольких приложений (в зависимости от типа ОС);
д. Организация механизмов обмена сообщениями и данными между выполняющимися программами.
е. возможность совместного использования программных, аппаратных, сетевых и прочих ресурсов вычислительной системы несколькими приложениями;
ж. Защита одной программы от влияния другой, обеспечение сохранности данных, защита самой операционной системы от исполняющихся на компьютере приложений.
8. Управление удалением приложений
a) Если в ОС каждое приложение имеет собственные ресурсы, то его удаление не требует вмешательства ОС – достаточно удалить каталог, где размещается приложение.
b) Если в ОС ресурсы используются совместно, то нельзя допустить, чтобы при удалении одного приложения были удалены ресурсы, необходимые другим приложениям (даже если эти ресурсы были установлены с удаляемым приложением). Поэтому в таком случае удаление происходит под контролем ОС.
9. Взаимодействие с аппаратным обеспечением
Из-за многообразия аппаратных средств, разработчики ПО не могут предусмотреть варианты взаимодействия своих программ с ними. Поэтому разработчики прилагают к своим программам специальные средства управления – драйверы.