Основные типы ОС. Состав и назначение основных компонентов ОС

Операционные системы ВС условно разделяют на два больших класса:

· ОС общего назначения (универсальные ОС);

· Специализированные ОС.

Современные ОС общего назначения обеспечивают выполнение широкого набора сервисных функций, который удовлетворяет потребностям большинства различных приложений. Приложения в таких ОС обычно не заботятся о взаимодействии с другими программами и не учитывают необходимость разделения ресурсов ВС с другими приложениями. Все эти задачи решаются операционной системой.

Специализированные ОС обычно ориентированы на разработку и реализацию специальных приложений.

Например, операционные системы реального времени предназначены для разработки и реализации приложений реального времени, которые предполагают управление некомпьютерным по своей природе оборудованием.

Принято различать системы мягкого (soft) и жесткого (hard) реального времени.

В системах жесткого реального времени неспособность обеспечить реакцию на какие-либо события в заданное время ведет к отказам и невозможности выполнения поставленной задачи. В большей части русскоязычной литературы такие системы называют системами с детерминированным временем.

Системами мягкого реального времени называются системы, не подпадающие под определение "жесткие". Системы мягкого реального времени могут не успевать решать задачу, но это не приводит к отказу системы в целом.

В системах реального времени обычно вводится понятие некоторого директивного срока (в англоязычной литературе – deadline), до истечения которого задача должна быть обязательно (для систем мягкого реального времени – желательно) выполнена. Этот директивный срок используется планировщиком задач как для назначения приоритета задачи при ее запуске, так и при выборе задачи на выполнение.

Примером ОС жесткого реального времени являются бортовые ОС управления подвижными объектами, ОС управления аварийной защитой, ОС управления промышленными установками.

Другим примером специализированных ОС являются сетевые ОС, которые специализированы для построения и обслуживания компьютерных сетей (ОС фирмы NovellNetWare, WindowsNT, Windows 2000 и др.).

С другой стороны, сетевую ОС можно рассматривать как ОС мягкого реального времени. Если система не успела обработать очередной принятый пакет, то это приведет к таймауту на передающей стороне и повторной передаче пакета. Данные при этом не теряются, но производительность сети снижается.

Работая в сетевой ОС, пользователь всегда может разместить свое задание на любом компьютере сети. Для этого используются команды удаленного выполнения заданий, в которых указывается информация, идентифицирующая удаленный компьютер.

Развитие сетевых ОС в направлении увеличения прозрачности сетевых сервисов привело к появлению нового класса специализированных систем – распределенных ОС. Такие ОС предоставляют пользователю сетевые ресурсы в виде единой виртуальной машины. Распределенная ОС автоматически распределяет работы по различным компьютерам сети и представляет набор сетевых компьютеров как виртуальный суперпроцессор. Пользователь в такой ОС не имеет сведений о том, на какой машине сети выполняется его задание.

Независимо от вида, ОС можно представить в виде совокупности подсистем управления ресурсами ВС (управление процессами, памятью, файлами, внешними устройствами) и подсистем общих для всех ресурсов (подсистемы пользовательского интерфейса, защиты данных и администрирования).

Подсистема управления процессами. Для каждой выполняемой программы ОС организует один или более процессов. Каждый процесс представляется в ОС информационной структурой, содержащей данные о потребностях процесса в ресурсах, о фактически выделенных ему ресурсах, о текущем состоянии процесса, его приоритете, состоянии регистров и др. В мультипрограммных ОС может существовать одновременно несколько процессов. Подсистема управления процессами планирует очередность выполнения процессов, обеспечивает их ресурсами, осуществляет их взаимодействие и синхронизацию.

Подсистема управления памятью. Эта подсистема производит распределение физической памяти между процессами, осуществляет загрузку и выгрузку программ в отведенные им области памяти, преобразование адресов и защиту областей памяти каждого процесса.

Подсистема управления файлами. Эта подсистема представляет отдельный набор данных, хранящийся на внешнем запоминающем устройстве в виде файла – простой неструктурированной последовательности байтов, имеющих символьное имя. Отличительной особенностью файлов является то, что обращение к ним осуществляется по имени файла (к другим составляющим ВС обычно обращаются по адресу). Для удобства работы с файлами их группируют в каталоги, которые могут образовывать группы (каталоги более высокого уровня) и далее деревья каталогов.

Подсистема управления внешними устройствами.Эту подсистему называют также подсистемой ввода/вывода, она реализует функции интерфейса между ядром ВС и всеми подключенными к нему устройствами. Спектр подключаемых устройств достаточно широк (принтеры, сканеры, мониторы, манипуляторы, сетевые адапторы и др.). Программы, управляющие конкретной моделью внешнего устройства, называют драйверами. ОС поддерживает определенный интерфейс между драйверами и остальными частями ОС. Как правило, такой интерфейс строится на основе концепции файлового доступа, который предполагает реализацию обмена данными с внешними устройствами аналогично обмену файлами с определенными именами.

Подсистема защиты данных администрирования.Безопасность данных ВС обеспечивается средствами отказоустойчивости ОС, направленными на защиту от сбоев и отказов аппаратного и программного обеспечения, а также средствами защиты от несанкционированного доступа. Администратор ВС определяет и ограничивает возможности пользователей в соответствии с их правами по обращению и использованию ресурсов ВС. Важным средством защиты ВС являются функции аудита ОС, заключающиеся в фиксации всех событий, от которых зависит безопасность системы. Поддержка отказоустойчивости ВС реализуется на основе резервирования устройств (RAID-массивы жестких дисков, резервирование принтеров и др.)

Интерфейс прикладного программирования.Прикладные программисты используют в своих приложениях обращения кОС, когда для выполнения действий требуется особый статус, которым обладает ОС. Возможности ОС доступны программисту в виде набора функций, который называется интерфейсом прикладного программирования (ApplicationProgrammingInterface – API). Приложения обращаются к функциям API с помощью системных вызовов.

Пользовательский интерфейс.ОС обеспечивает удобный интерфейс не только для прикладных программ, но и для пользователей. Современные ОС поддерживают два типа пользовательского интерфейса для интерактивной работы с ОС – алфавитно-цифровой (командная строка) и графический. Командный язык ОС, наряду с интерактивным режимом, реализует выполнение последовательности команд из пакетных (командных) файлов. Эти возможности подсистемы обеспечивает командный интерпретатор (cmd – в Windows, Shell – в UNIX, Command – в MS DOS). Ввод команд обращения к ОС существенно упрощается в графических интерфейсах. В этом случае пользователь выбирает нужную команду из соответствующего экранного меню.

Вопросы для самопроверки по теме 1.3

1. Назовите основные типы ОС.

2. Чем распределенная ОС отличается от сетевой ОС?

3. Назовите примеры жестких ОС реального времени и мягких ОС реального времени.

4. Назовите основные подсистемы ОС.

5. Какие функции реализует система аудита ОС?

Наши рекомендации