
- •Операционные системы. Часть 2 Учебное пособие
- •Содержание
- •6.1.1. Общие понятия 58
- •4.Память
- •4.1.Управление оперативной памятью
- •4.1.1.Виртуальная и физическая память
- •4.1.2.Схема управления памятью
- •4.1.3.Управление памятью в однозадачной системе
- •4.1.4.Управление памятью в многозадачной системе
- •4.1.5.Подкачка процессов целиком
- •4.1.6.Страничная подкачка
- •4.1.7.Управление виртуальной памятью
- •4.2.Носители памяти для долговременного хранения данных
- •4.2.1.Накопители на жестких дисках
- •4.2.2.Оптические диски
- •4.2.3.Голографические диски
- •4.2.4.Флэш-память
- •4.2.5.Перспективные носители информации
- •Контрольные вопросы
- •5.Разработка надстроек к операционным системам
- •5.1.Общие понятия
- •5.2.Многозадачная оболочка с синхронной заменой контекста
- •5.3.Многозадачная система с принудительной заменой контекста
- •5.4.Дополнения к асинхронной надстройке
- •Контрольные вопросы
- •6.Краткий обзор операционных систем
- •6.1. Операционная система unix
- •6.1.1.Общие понятия
- •6.1.2. Структура unix
- •6.2.Операционные системы реального времени
- •6.2.1.Понятие об операционной системе qnx
- •6.2.2.Введение в ос VX Works
- •6.3.Особенности ос для универсальных многопроцессорных систем
- •6.3.1.Операционная система helios
- •6.4.Операционная система Windows 2000
- •Варианты выпуска Windows 2000
- •Контрольные вопросы
- •Литература
- •Предметный указатель
6.2.2.Введение в ос VX Works
Операционная система Vx Works разработана фирмой Wind River Systems примерно в то же время, что и QNX. В отличие от QNX она с самого начала была предназначена для работы в «жестком» реальном времени.
Эта ОС нашла свое применение:
в космических объектах;
в банковских системах;
в качестве сервера реального времени в сетевых системах, работающих под управлением UNIX и т. д.
В последнее время её популярность упала, что связано с относительно слабой поддержкой многопроцессорных систем. Рассмотрение этой операционной системы, прежде всего, представляет интерес с точки зрения приемов, которые применяются для работы в «жестком» реальном времени.
Концепция Vx Works. Довольно часто в больших программных комплексах имеет место симбиоз обычных программ и программ, разработанных для работы в РВ. Системы реального времени предназначены для разработки программ реального времени и плохо поддерживают разработку обычных программ. Пригодность систем РВ для разработки больших программных комплексов требует её совместимости с ОС общего назначения. Операционная система Vx Works полностью совместима с UNIX, что идеально решает указанную проблему. В частности, совместимость по сокетам (программным разъёмам) позволяет наладить обмен информации между различными компонентами системы.
В общем случае можно сказать, что совместимость сетевых средств дает возможность объединить Vx Works и UNIX в завершённую интегрированную среду разработки и исполнения. Каждая из систем используется в той среде, где она наиболее эффективна.
Вторая сторона концепции – это взаимодействие операционной системы со стандартом POSIX. С одной стороны, совместимость с данным стандартом открывает возможность быстрого переноса стандартных функций на платформу соответствующей ОС и упрощает лицензирование. С другой стороны, желание добиться совместимости с POSIX любой ценой, может привести к ухудшению характеристик ОС, предназначенных для работы в реальном времени. В Vx Works разработано два ядра: Wind и POSIX. Работая с первым ядром, можно добиться наилучших временных характеристик. Взаимодействие со вторым ядром дает возможность совместить Vx Works со стандартом POSIX. Вариант выбора остаётся за пользователем.
Основные средства поддержки «жесткого» РВ в Vx Works. Первое средство можно назвать аппаратным. Остальные приемы, так или иначе, улучшают организацию вычислительных систем с точки зрения возможности работы в реальном времени.
Широкая аппаратная платформа. Vx Works – мобильная операционная система, позволяющая реализовывать свои функции на процессорах, выпускающих различными фирмами (их число порядка двух десятков). Пользователь в зависимости от области применения может выбрать производительный, но более дорогой процессор, или процессор «экономкласса», но с худшими характеристиками.
Разделение на среду разработки (Host ЭВМ) и среду выполнения (Target ЭВМ). Это разделение практически имеет место для всех систем РВ высокого уровня. Оно даёт возможность совместить комфортность разработки программного обеспечения с оптимизированным по времени исполняемым файлом (рис. 6.3). Создание программы в Host ЭВМ происходит обычным образом, отличаясь только использованием для программ РВ функций библиотек Wind или POSIX. Далее с помощью кросс-загрузчика, исполняемый файл масштабируется и перемещается в ЭВМ, после чего приобретает статус задачи реального времени. Физически Host ЭВМ и Target ЭВМ могут находиться либо на одной вычислительной системе, либо на двух. Отладка программы может осуществляться непосредственно на Target ЭВМ, или с использованием удаленного отладчика на Host ЭВМ. Вообще Vx Works имеет мощные отладчики, которые позволяют существенно упростить разработку задач реального времени.
Адекватная РВ организация программ обслуживания прерываний. В обычных операционных системах обработчики прерываний (ISR) определяются полным контекстом и в этом плане их можно рассматривать как подпрограммы. В таком подходе есть свои плюсы, но переключение на обработку прерываний в этом случае происходит достаточно медленно. Это неприемлемо для систем реального времени, в которых прерывание является одним из основных механизмов оповещения о событии. В Vx Works программы обслуживания прерываний для ускорения реакции на прерывание работают в своем специальном контексте. По этой причине переключение контекста при обработке прерывания не требуется. Местоположение ISR определяется по его номеру, который, по сути дела, задаёт смещение от начала пространства, в котором расположены обработчики прерываний. Такому положению вещей способствует плоская организация виртуальной памяти в Vx Works при использовании ядра Wind (см. разд. 4.6). Однако, в стандарте POSIX рекомендуется модель виртуальной памяти, при которой возможна выгрузка на диск (см. разд. 4.6), а в этом случае быстрый вызов ISR организовать сложнее.
Рис. 6.18. Среда разработки и среда выполнения
Семафоры. Семафоры – мощный инструмент синхронизации процессов в многозадачной системе (см. разд. 4.5). В операционной среде Vx Works имеется хорошо развитый институт семафоров, оптимизированных по временным характеристикам. Наряду с семафорами, рекомендованными POSIX, имеются разновидности, которые комбинируют свойства семафора с дополнительными возможностями (см. например «инверсия приоритета» в разд. 4.5.2). Это позволяет добиться уменьшения времени обработки событий.
Дополнительные сведения по данной системе можно найти по адресам: www.vxworks.ru, www.windriver.com