Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
UchbnoePosobieV14 - p2.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
2.08 Mб
Скачать

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]