Операционная система.
Операционная система (ОС) – это комплекс взаимосвязанных системных программ для организации взаимодействия пользователя с компьютером и выполнения всех других программ. ОС относятся к составу системного программного обеспечения и являются основной его частью. Операционные системы: MS DOS 7.0, Windows 10, Windows 2008 Server, OS/2, UNIX, Linux.
Основные функции
ОС:
1.управление устройствами компьютера (ресурсами), т.е. согласованная
работа всех аппаратных средств ПК: стандартизованный доступ к периферийным
устройствам, управление оперативной памятью и др.
2.управление процессами,
т.е. выполнение программ и их взаимодействие с устройствами
компьютера.
3.управление доступом к данным на энергонезависимых носителях
(таких как жесткий диск, компакт-диск и т.д.), как правило, с помощью файловой
системы.
4.ведение файловой структуры.
5.пользовательский интерфейс, т.е.
диалог с пользователем.
Дополнительные
функции:
1.параллельное или псевдопараллельное выполнение задач
(многозадачность).
2.взаимодействие между процессами: обмен данными, взаимная
синхронизация.
3.защита самой системы, а также пользовательских данных и
программ от злонамеренных действий пользователей или
приложений.
4.разграничение прав доступа и многопользовательский режим работы
(аутентификация, авторизация).
Состав операционной системы. В общем случае в состав входят следующие модули:
1.Программный модуль, управляющий файловой системой.
2.Драйвер устройства (device driver) – специальная программа, обеспечивающая управление работой устройств и согласование информационного обмена с другими устройствами.
3.Командный процессор (command processor) – специальная программа, которая запрашивает у пользователя команды и выполняет их (интерпретатор программ). Интерпретатор команд отвечает за загрузку приложений и управление информационным потоком между приложениями.
4.Для упрощения работы пользователя в состав современных ОС входят программные модули, обеспечивающие графический пользовательский интерфейс. Процесс работы компьютера в определенном смысле сводится к обмену файлами между устройствами. В ОС имеется программный модуль, управляющий файловой системой.
5.Сервисные программ позволяют обслуживать диски (проверять, сжимать, дефрагментировать и др.), выполнять операции с файлами (копирование, переименование и др.), работать в компьютерных сетях.
6.Для удобства пользователя в состав ОС входит справочная система, позволяющая оперативно получить необходимую информацию о функционировании как ОС в целом, так и о работе ее отдельных модулей.
Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:
Ядро – это модули, выполняющие основные функции ОС.
Вспомогательные модули, выполняющие вспомогательные функции ОС. Обычно ядро оформляется в виде программного модуля некоторого специального формата, отличающегося от формата пользовательских приложений.Вспомогательные модули ОС оформляются либо в виде приложений, либо в виде библиотек процедур. Вспомогательные модули ОС подразделяются на следующие группы:
1.Утилиты – программы, решающие задачи управления и сопровождения компьютерной системы: обслуживание дисков и файлов.
2.Системные обрабатывающие программы – текстовые или графические редакторы, компиляторы, компоновщики, отладчики.
3.Программы предоставления пользователю дополнительных услуг пользовательского интерфейса (калькулятор, игры).
5.Библиотеки процедур различного назначения, упрощающие разработку приложений (библиотека математических функций, функций ввода-вывода).
Вспомогательные модули обычно загружаются в оперативную память только на время выполнения своих функций, то есть являются транзитными. Такая организация ОС экономит оперативную память компьютера. Разделение операционной системы на ядро и вспомогательные модули обеспечивает легкую расширяемость ОС. Чтобы добавить новую высокоуровневую функцию, достаточно разработать новое приложение, и при этом не требуется модифицировать основные функции, образующие ядро системы.
Объектами ядра ОС являются:
Процессы.
Файлы.
События.
Потоки.
Семафоры – объекты, позволяющие войти в заданный участок кода не более чем n потокам.
Мьютексы – одноместные семафоры, служащие в программировании для синхронизации одновременно выполняющихся потоков.
Файлы, проецируемые в память.
Операционные системы можно классифицировать по нескольким признакам.
По назначению выделяют системы общего назначения и специализированные операционные системы. Последние используются в специализированной вычислительной технике, например, бытовой технике, автомобилях, специальных вычислителях военного применения.
По количеству одновременно работающих пользователей, операционные системы можно разделить на однопользовательские и многопользовательские.
По количеству одновременно работающих программ операционные системы делят на однозадачные и многозадачные.
Операционные системы обладают рядом характеристик, позволяющих эффективно использовать ресурсы вычислительной системы:
Переносимость. Если операционная система написана на переносимом языке – это позволяет быстрее переходить от одной архитектуры компьютеров к другой, то есть использовать всю операционную систему целиком на машине с другим процессором или конфигурацией при минимальных изменениях исходного текста.
Расширяемость и возможность исправлений. Код операционной системы должен быть написан так, чтобы его удобно было дополнять и модифицировать при изменении требований к системе, поскольку операционные системы обязательно изменяются с течением времени. Система представляет собой набор отдельных компонентов, взаимодействующих друг с другом только посредством функциональных интерфейсов. Новые компоненты добавляются к исполнительной системе как новые модули, обращающиеся интерфейсам других компонентов. При этом очень важную роль играет хорошая и полная документированность. Изменения в операционные системы обычно вносятся постепенно, это может быть, например, добавление поддержки новых аппаратных устройств, таких как компакт-диски, способности работать с другим типом сети, поддержки новых программных технологий, таких как графические интерфейсы пользователя.
Мультипроцессорная обработка. Необходимо, чтобы приложения могли использовать преимущества множества разновидностей компьютеров, известных в настоящее время. Современная операционная система должна позволять запуск одного и того же приложения, как на однопроцессорных, так и на многопроцессорных вычислительных машинах. В предельном случае несколько приложений выполнялось бы одновременно с максимальной скоростью, а приложения, требующие большого объема вычислений, могли бы повысить свою производительность, распределяя работу между несколькими процессорами.
Распределенные вычисления. Разработчики операционных систем встраивают функции поддержки сети непосредственно в систему, тем самым, обеспечивая приложениям возможность распределять работу между несколькими вычислительными системами.
Надежность и устойчивость. Система должна защищать себя как от внутренних сбоев, так и от внешнего вторжения. Она должна всегда вести себя предсказуемо, и у приложений не должно быть возможности повредить операционную систему или нарушить ее функционирование.
Совместимость. Несмотря на то, что новые версии операционной системы призваны расширять существующие технологии, ее пользовательский интерфейс, а также API (Application Programming Interface – интерфейс программирования приложений) должны быть совместимы с предыдущими версиями.
Производительность. Система должна отвечать, всем требованиям, но при этом быть максимально быстрой и обеспечивать минимальное время отклика на каждой аппаратной платформе.