Операционная система.

Операционная система (ОС) – это комплекс взаимосвязанных системных программ для организации взаимодействия пользователя с компьютером и выполнения всех других программ. ОС относятся к составу системного программного обеспечения и являются основной его частью. Операционные системы: 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 – интерфейс программирования приложений) должны быть совместимы с предыдущими версиями.

Производительность. Система должна отвечать, всем требованиям, но при этом быть максимально быстрой и обеспечивать минимальное время отклика на каждой аппаратной платформе.

 
Наверх