Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

GRID_УП

.pdf
Скачиваний:
75
Добавлен:
16.03.2016
Размер:
1.78 Mб
Скачать

141

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

Для разработки прикладного программного обеспечения

используется комплекс, состоящий из двух ЭВМ, соединенных по сети:

инструментальная ЭВМ (компьютер с операционной системой типа UNIX (Linux));

целевая ЭВМ (ЭВМ, для которой разрабатывается программное обеспечение).

Разработка программного обеспечения ведется на инструментальной ЭВМ.

Средства разработки позволяют оттранслировать программу, написанную на языках С и Ассемблер, а также отлаживать программу, загруженную в целевую машину.

5.3.8QNX

Система QNX выпускается фирмой QNX SoftWare Systems

(Canada & USA).

Основные характеристики:

Категория: self-hosted.

Архитектура: на основе микроядра.

Стандарт: POSIX 1003. Процессоры (target): Intel 80x86.

Линии связи host/target: последовательный канал и Ethernet.

Размер ядра: 60Кб.

Средства синхронизации и взаимодействия: POSIX 1003.

Планирование: приоритетное, FIFO, адаптивное (споради-

ческое), Roun Robin, preemptable.

Средства разработки:

Комплект разработки С/C++, включающая компиляторы, отладчик, анализатор от QNX и независимых поставщиков

(Watcom, SyBase).

X Windows/Motif для QNX.

142

Комплект разработки QNX Momentics.

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

всреду операционной системы QNX для организации их работы

всреде распределенной обработки.

ОС QNX является сетевой, мультизадачной, многопользовательской (многотерминальной) и масштабируемой. С точки зрения пользовательского интерфейса и API она очень похожа на UNIX. Однако QNX — это не версия UNIX, хотя почему-то многие так считают. Она была разработана, что называется «с

нуля», канадской фирмой QNX Software Systems Limited в 1989

году по заказу Министерства обороны США [8]. Причем эта система построена на совершенно других архитектурных принципах, отличных от принципов, использованных при создании

ОС UNIX.

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

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

143

ги) никогда не будет потеряно. Ни одна версия UNIX не может достичь подобного качества, поскольку нереентерабельный код ядра слишком велик. Любой системный вызов из обработчика прерывания в UNIX может привести к непредсказуемой задержке (то же самое касается Windows NT).

Масштабируемость и эффективность, достигаемые оптимальным использованием ресурсов и означающие ее применимость для встроенных (embedded) систем; вы не увидите в каталоге /dev огромной кучи файлов, соответствующих ненужным драйверам. Драйверы и менеджеры можно запускать и удалять (кроме файловой системы, что очевидно) динамически, просто из командной строки. Вы можете иметь только тот сервис, который вам реально нужен, причем это не требует серьезных усилий и не порождает проблем.

Расширяемость и надежность одновременно, посколь-

ку написанный вами драйвер не нужно компилировать в ядро, рискуя вызвать нестабильность системы. Менеджеры ресурсов (сервис логического уровня) работают в кольце защиты 3, и вы можете добавлять свои, не опасаясь за систему. Драйверы работают в кольце с уровнем привилегий 1 и могут вызвать проблемы, но не фатального характера. Кроме того, их достаточно просто писать и отлаживать.

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

Компактная графическая подсистема Photon, постро-

енная на тех же принципах модульности, что и сама ОС, позволяет получить полнофункциональный GUI (расширенный Motif), работающий вместе с POSIX-совместимой ОС всего в 4Мбайт памяти, начиная с i80386 процессора.

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

144

5.4 Специализированные ОСРВ

Системы, проектируемые под конкретную модель микроконтроллера или конкретную задачу, обладают определенными преимуществами:

наивысшей производительностью;

наилучшим учетом особенностей оборудования;

наибольшей компактностью.

Недостатки специализированных ОСРВ:

большое время разработки;

высокая стоимость;

непереносимость на другие платформы.

Примерами таких систем являются ОСРВ, разработанные многими производителями электронной техники (Sony, Sagem, …), а также системы, разработанные под конкретную большую задачу, например управление железными дорогами (TGV, France).

5.5Обобщенный обзорфункциональности ОСРВ

Количество операционных систем реального времени в настоящий момент на мировом и российском рынках весьма велико. Описанный выше ряд операционных систем можно продол-

жить весьма большим перечнем: Parallel C (3L Limited), Nucleus Plus/RTX (Accelerated Technology), RISC OS (Acorn Risc Technologies), Allegro (Allegro Systems Limited), ARTK (Alsys GmBH), ARTA (Apple), Rubus OS (Arcticus Systems), VCOS (AT&T), XTAL RTOS (AXE), AmpOS (Belobox Systems), BOX (Brainstorm Engineering), Byte_Bos Multitasking (Byte Bos Integrated Systems), MIPS Kernel (CAC), UNOS (Charles River Data Systems), CMX (CMX Company), «PowerMAX, MAXION» (Con-

current Computer), Digital UNIX (Digital Equipment) и т.д. И это малая часть всего перечня.

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

Таблица 5.3 — Обзор функциональных возможностей ОСРВ

Название ОС

Исходныетексты

ПоддержкаWinAPI

Разработкапод Windows

Поддержка POSIXAPI

изРаботаПЗУ

Фиксированные приоритеты

Приоритетная многозадачность

памятиЗащита

Модульность

Многопроцессорность

средстваСетевые

Межзадачные коммуникации

черезСвязь памятьобщую

Межзадачная синхронизация

Удаленныйвызов процедур

Удаленныйзапуск задач

Удаленный мониторинг

Удаленнаяотладка

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Компания)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RTX (Ventur-

 

X

X

X

X

X

X

X

X

X

X

X

X

X

X

 

 

 

 

Com)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

145

ETS Kernel

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Phar Lap

X

X

X

 

X

 

X

X

 

 

X

X

 

X

 

 

X

X

 

Software)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Hyperkernel

 

X

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Nematron)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

LynxOS

X

 

 

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

 

(LynuxWorks)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OS 9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Microware

X

 

X

X

X

 

X

X

X

X

X

X

X

X

X

X

X

X

 

Systems)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

«VxWorks,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Tornado»

X

 

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

 

(Wind River

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Systems)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

146

Продолжение табл. 5.3

Название ОС

Исходныетексты

ПоддержкаWinAPI

Разработкапод Windows

Поддержка POSIXAPI

изРаботаПЗУ

Фиксированные приоритеты

Приоритетная многозадачность

памятиЗащита

Модульность

Многопроцессорность

средстваСетевые

Межзадачные коммуникации

черезСвязь памятьобщую

Межзадачная синхронизация

Удаленныйвызов процедур

Удаленныйзапуск задач

Удаленный мониторинг

Удаленнаяотладка

 

(Компания)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SoftKernel

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Microdata

 

X

X

 

X

 

X

X

X

X

X

X

 

X

 

 

X

X

 

Soft)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CHORUS/Clas

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

146

siX (Chorus

 

 

X

X

 

X

 

X

X

 

X

X

X

X

X

X

X

X

 

 

 

 

 

 

Systems)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

«pSOS+,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

FlexOS»

X

 

 

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

 

(Integrated

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Systems)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

QNX (QNX

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Software Sys-

X

X

X

X

X

X

X

X

X

 

X

X

X

X

X

X

X

X

 

tems)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Nucleus

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Plus/RTX

X

 

X

 

X

 

X

 

X

 

X

X

 

X

 

 

 

 

 

(Accelerated

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Technology)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

147

Продолжение табл. 5.3

Название ОС

Исходныетексты

ПоддержкаWinAPI

Разработкапод Windows

Поддержка POSIXAPI

изРаботаПЗУ

Фиксированные приоритеты

Приоритетная многозадачность

памятиЗащита

Модульность

Многопроцессорность

средстваСетевые

Межзадачные коммуникации

черезСвязь памятьобщую

Межзадачная синхронизация

Удаленныйвызов процедур

Удаленныйзапуск задач

Удаленный мониторинг

Удаленнаяотладка

 

(Компания)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Allegro

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

(Allegro

X

 

 

 

 

 

 

X

X

 

X

X

X

 

 

 

 

 

 

Systems

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

147

Limited)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ARTK

X

 

 

X

X

X

X

X

X

X

X

X

X

 

X

 

 

X

 

(Alsys GmBH)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

VCOS

 

 

 

 

 

X

 

 

X

X

 

X

X

X

 

 

 

 

 

(AT&T)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BOX

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Brainstorm

 

 

X

 

X

X

X

X

X

X

X

X

X

X

X

X

X

X

 

Engineering)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MIPS Kernel

X

 

 

 

 

 

X

X

X

X

 

X

X

X

 

X

 

X

 

(CAC)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

UNOS

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Charles River

X

 

 

X

X

X

X

X

 

X

X

X

X

X

X

X

X

X

 

Data Systems)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

148

Окончание табл. 5.3

Название ОС

Исходныетексты

ПоддержкаWinAPI

Разработкапод Windows

Поддержка POSIXAPI

изРаботаПЗУ

Фиксированные приоритеты

Приоритетная многозадачность

памятиЗащита

Модульность

Многопроцессорность

средстваСетевые

Межзадачные коммуникации

черезСвязь памятьобщую

Межзадачная синхронизация

Удаленныйвызов процедур

Удаленныйзапуск задач

Удаленный мониторинг

Удаленнаяотладка

 

(Компания)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CMX (CMX

X

X

X

 

X

 

X

X

X

 

X

X

X

X

 

 

X

X

 

Company)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RTXC

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Embedded

X

 

X

 

X

X

X

X

X

 

X

X

X

X

X

X

X

X

148

Systems Prod-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ucts)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

HP RT

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Hewlett Pack-

X

 

 

X

 

 

X

X

X

X

X

 

X

 

X

 

 

X

 

ard)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

OS/Open

 

 

X

X

X

X

 

 

X

 

X

X

 

X

X

 

 

X

 

(IBM)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

VRTX

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(Microtec

 

 

X

 

X

 

X

 

 

X

X

X

 

X

X

 

 

 

 

Research)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

RMOS (Sie-

 

X

X

 

X

 

X

X

X

X

X

X

X

X

 

 

 

X

 

mens)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

149

Существующие ОСРВ обслуживают довольно внушительный парк микропроцессоров. Приведем некоторые наименования микропроцессоров из этого парка: Intel Pentium, Intel 80x86,

NEV V53, NEV V25, Z 80 (180), 80x96, 80x51, i960, i860, 68060, 68040, 68030, 68020, 68010, 68000, Z180, 68340, 68332, 68331, 68302, PowerPC6604, PowerPC6603, PowerPC6601, Power PC 403, 68HC16, 68HC11, MIPS R4000, 68360, AM294xx, AM292xx, AM290xx, SPARC, VA X family, Alpha, Inmos T4xx, T8xx, ARM, ARM THUMB, TMS320C5x, TMS320C4x, TMS320C3x, TMS320C2x, 56xxx DSP, AD2106x и др.

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

1.На каких процессорах может работать OC Linux?

2.Какие способы существуют для реализации механизма

preemption?

3.В чем особенность системы RT-Linux?

4.Приведите основные аргументы за и против использования Windows NT в качестве ОСРВ.

5.Какие расширения Windows NT, которые поддерживают реальное время, вы знаете?

6.Классифицируйте в виде таблицы собственно ОСРВ по категориям: self-hosted, host/target и те, которые могут выступать

ив том и другом варианте.

7.Опишите основные функциональные возможности ОС

LynxOS.

8. Какие механизмы синхронизации реализованы в ОС

LynxOS 5.0?

9. Опишите реализацию атомарных переменных и опера-

ций в ОС LynxOS 5.0.

10.Какие барьеры памяти реализованы в ОС LynxOS 5.0?

11.Опишите ОС функциональные возможности OS-9.

12.Опишите ОС функциональные возможности VxWorks.

13.Опишите уровневую структуру VSPWorks.

14.Опишите ОС функциональные возможности SoftKernel.

15.Опишите ОС функциональные возможности CHORUS.

150

16.Опишите ОС функциональные возможности pSOS.

17.Опишите ОС функциональные возможности ОС2000.

18.Приведите преимущества и недостатки специализированных ОСРВ.

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