
ЛЕКЦИЯ 5
Назначение и функции ОС
Из всего многообразия функций, выполняемых ОС, выделяются функции ОС как класса программных продуктов:
1) ОС для автономного компьютера;
2) сетевые ОС;
3) распределённые ОС.
ОС для автономного компьютера выполняют следующие. функции:
а) предоставление пользователю виртуальной машины, которая упрощается командами более высокого уровня. Виртуальная машина управляется командами более высокого уровня: операции с файлами вместо операций с блочными дисковыми устройствами, запуск программы вместо передачи управления по адресу и т.п.
б) повышение эффективности использования аппаратуры и программных средств. Критериями эффективности являются пропускная способность и время реакции.
Для повышения эффективности использования ОС централизованно управляет всеми ресурсами. Управление ресурсами включает:
-
планирование, т.е. определение, какому процессу когда и в каком кол-ве выделить ресурс;
-
удовлетворение запросов на ресурс;
-
отслеживание состояния и учёт использования;
-
разрешение конфликтов в борьбе за ресурс;
Наиболее важной подсистемы в составе ОС группируются в соответствие с типами локальных ресурсов. Общими для всех ресурсов являются системы пользовательского интерфейса и защита данных и администрирования.
Подсистема защиты данных и администрирования выполняет следующие функции:
-
подержание процедуры логического входа (login)
-
функция аудита, т.е. фиксации всех событий, от которых зависит безопасность системы. Список видов таких событий составляется администратором.
-
поддержка отказа устойчивости путём резервирования. Резервирование предполагает поддержание избыточности, однако особым случаем является мультипроцессорность, которая не предполагает избыточность в нормальных условиях. Различают автоматическое и ручное резервирование.
API.
Предоставление API прикладному программисту есть неотъемлемая функция ОС.
ОС с различной внутренней организацией, но с одинаковым API, фактически, идентичны для прикладного программиста. Например POSIX – это обобщенный API Unix.
Приложения выполняют обращение к API с помощью системных вызовов. Способ реализации системных вызовов зависит от архитектуры ОС и от языка программирования.
Пользовательский интерфейс.
- Интерфейс командной строки, командный интерпретатор.
- GUI.
Сетевые ОС.
Дополнительно к функциям автономного компьютера необходимо реализовать способ разделения ресурсов между множеством выполненных процессов в сети. Сетевые ОС виртуализируют коммуникационные ресурсы, скрывая низкоуровневые аппаратные детали. Пользователь виртуальной сети обязан знать, на каких компьютерах распределены системные ресурсы, при необходимости, осуществить удаленный вход или запуск программ. В любом случае используются идентификаторы удалённых ресурсов.
Распределённые ОС.
В отличие от сетевых, достигается прозрачность размещения ресурсов. Вся сеть представляется как централизованная виртуальная машина. Пользователь не имеет сведений о том, на каком компьютере расположен интересующий ресурс.
Сетевые и распределенные ОС включают серверные, клиентские и транспортные компоненты.
Эксплуатационные требования к ОС:
-
расширяемость
-
переносимость
-
совместимость
-
надежность и отказоустойчивость
-
безопасность и производительность
Расширяемой называется ОС, допускающая дополнения или изменения без нарушения целостности.
Переносимость – наличие нескольких вариантов ОС для различных аппаратных платформ.
Совместимость – возможность запуска приложений других ОС (по двоичному коду или по исходному тексту программ). В совместимость входит также поддержка пользовательского интерфейса других ОС.
Надёжность – защита от ошибок, сбоев, отказов по внутренним и внешним причинам. ОС должна быть предсказуема, а приложения не должны нести вред ОС.
Безопасность – защита от несанкционированного доступа.
Для удовлетворения требований система должна иметь средства аутентификации (определение легального доступа пользователя) и аудита (фиксация всех подозрительных событий).
Производительность – ОС должна соответствовать по производительности аппаратным платформам. Как правило, влияние оказывает качество программного кода и архитектура ОС.
Общие принципы построения ОС.
Каждая ОС – это уникальная сложная программная система. Однако, можно говорить о тождественном равенстве ОС в смысле использования некоторых принципов, положенных в основу их разработки.
-
Частотный принцип.
Это наиболее общий принцип реализации программных систем. Основан на выделении в алгоритмах, программах и массивах данных действий и данных по частоте их использования. Для часто встречающихся действий обеспечивается режим наискорейшего выполнения.
-
Принцип модульности.
В равной степени отражает технологические и эксплуатационные свойства. Наибольший эффект достигается при распространении принципа и на ОС, и на технические средства, и на прикладное программное обеспечение. Под модулем понимают элемент рассматриваемой системы, имеющий законченное в пределах требований системы оформление и средства сопряжения с другими элементами.
Модуль предполагает легкий способ его заполнения при наличии описанных интерфейсов. Как правило, система делится на модули по функциональному признаку.
-
Принцип функциональной избирательности.
Является следствием модульного и частотного принципа. В ОС выделяется часть наиболее важных и наиболее часто используемых модулей, эту часть называют ядром системы. Ядро помещается в оперативную память и хранится там на протяжении всего сеанса работы системы. Программы, постоянно находящиеся в ОП, называют резидентными. Существуют также транзитные программы, которые загружаются в ОП по мере необходимости.
-
Принцип генерируемости.
Определяет такой способ представления системных программ ОС, который предполагает возможность настройки на конкретную аппаратуру и круг решаемых задач.
ОС в исходном виде называется обычно дистрибутивной системой, а носитель, на котором она поставляется, дистрибутивным носителем.
Процесс генерации предполагает получение из дистрибутива конкретного варианта системы.
-
Принцип функциональной избыточности.
Учитывает возможность выполнения одной и той же работы несколькими различными способами.
-
Принцип по умолчанию.
Применяется для обеспечения организации связей системы. Основан на хранении в системе некоторых базовых описаний структур, процессов, модулей, конфигураций оборудования. При необходимости эти базовые значения могут быть изменены.
-
Принцип перемещаемости.
Предусматривает построение модулей, исполнение которых не зависит от местоположения в ОП.
-
Принцип защиты.
Определяет необходимость разработки мер, ограждающих программные данные от искажений и нежелательного влияния друг на друга, а также на ОС и наоборот.
-
Принцип независимости программы от внешних устройств.
Позволяет осуществлять операции управления ВУ стандартным образом, вне зависимости от физических характеристик этих устройств.
Принцип основан на том, что связь программы с внешним устройством осуществляется не на этапе трансляции, а на этапе планирования исполнения.
-
Принцип открытости.
Открытая ОС должна быть доступной для модификации и расширения.