Классы операционных систем реального времени, обзор( VxWorks, OS9, QNX, VRTX).



Среди коммерческих систем реального времени можно выделить группу ведущих систем - по объемам продаж и по популярности. Это системы: VxWorks, OS9, pSOS, LynxOS, QNX, VRTX.

Исполнительные системы реального времени

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

Системы этого типа обладают рядом достоинств, среди которых главное - скорость и реактивность системы. Главная причина высокой реактивности систем этого типа - наличие только нитей (потоков) и, следовательно, маленькое время переключения контекста между ними (в отличие от процессов). С этим главным достоинством связан и ряд недостатков: "зависание" всей системы при "зависании" нити, проблемы с динамической подгрузкой новых приложений.

Кроме того, системы разработки для продуктов этого класса традиционно дороги (порядка $20 000). Хотя, надо отметить, что качество и функциональность систем разработки в этом классе традиционно хороши, так как они были изначально кроссовыми.

Наиболее ярким представителем систем этого класса является операционная система VxWorks. Область применения - компактные системы реального времени с хорошими временами реакций.

Ядра реального времени

В этот класс входят системы с монолитным ядром, где и содержится реализация всех механизмов реального времени этих операционных систем. Исторически системы этого типа были хорошо спроектированы. В отличие от систем других классов, которые появлялись как временные компромиссы и затем "наращивали мускулы" благодаря первым удачным реализациям (исполнительные системы реального времени и UNIX ы реального времени), разработчики систем этого класса имели время для разработки систем именно реального времени и не были изначально ограничены в выборе средств (например, фирма Microware имела в своем распоряжении три года для разработки первого варианта OS9).

Системы этого класса, как правило, модульные, хорошо структурированные, имеют наиболее развитый набор специфических механизмов реального времени, компактные и предсказуемые. Наиболее популярные системы этого класса: OS9, QNX.

Одна из особенностей систем этого класса - высокая степень масштабируемости. На базе этих ОС можно построить как компактные системы реального времени, так и большие системы серверного класса. Как правило, ядра реального времени имеют два типа систем разработки - кроссовую и резидентную.

UNIX ы реального времени

Исторически системы реального времени создавались в эпоху расцвета и бума UNIX а и поэтому многие из них содержат те или иные заимствования из этой красивой концепции операционный системы (пользовательский интерфейс, концепция процессов и т.д.).

Часть разработчиков операционных систем реального времени попыталась просто переписать ядро UNIX, сохранив при этом интерфейс пользовательских процессов с системой, насколько это было возможно. Реализация этой идеи не была слишком сложной, поскольку не было препятствия в доступе к исходным текстам ядра, а результат оказался замечательным. Получили и реальное время, и сразу весь набор пользовательских приложений - компиляторы, пакеты, различные инструментальные системы.

В этом смысле создателям систем первых двух классов пришлось потрудиться не только при создании ядра реального времени, но и продвинутых систем разработки.

Однако Unix-ты реального времени не избавлены от следующих недостатков: системы реального времени получаются достаточно большими и реактивность их ниже, чем реактивность систем первых двух классов.

Наиболее популярным представителем систем этого класса является операционная система реального времени Lynx OS.

 

19. ОСРВ OS9.Явл UNIX подобной сист с модульной стр-ой, с микроядром, с иерарх-ими файловыми менеджерами, с системой вв/ выв, с ср-ами разработки и отладки. Все модули OS9 м б размещены в ПЗУ. Все модули позиционно- независимы, добавление/ удаление модулей без компиляции. Базовые ФМ– орг-ция обмена м/у процессами, а также доступ к различным послед-ым устр-вам(принтер, терминал). Сетевые ФМ – доступ к разделяемым сетевым устр-ам по протоколу TCP/IP, кроме этого NetBIU протокол, FTP, UDP. Менеджер упр-ния стеком протоколов поддерживает неск типов коммуник-ых протоколов x.25., LAP-B (обесп-ет незав-сть арх-ры сист от сети в случае динам-ой сборки и разборки модулей и драйверов устр-в). Менеджер SDM- менеджер глоб-х телекоммун-ных приложений, видиоконференций, высокоскор факт связи и обеспечение мостов между лок и глоб сетями. Менеджеры мультимедиа–для мультим-ных приложений и орг-ции пользов-их интерфейсов, ориентированны на спецификацию MPEG, интерактивное телевидение и выдача инф-ции по запросу. Осн. характеристики:

1. Многозадачная ОС(на 65535 процессов и уровнений приоритетов)

2. Многопольз-кая ОС(255 пользователей)

3. Переносимость в следующие среды ANSI C/C++, POSIX 1009, TCP/IP, NFS/RPC, XWindows, OSF, JAVA/

4. 100% размещения в ПЗУ.

5. обьектно- ориент-ная модульность

6. полностью вытесняемое детерминированное ядро

7. Развитие сетевых средств: ARCnet, Ethernet, x.25, ISON, ATM, T1/E1

8.Резедентные и кросс ср-ва разработки, технологии высокооптимизир-ого компилятора ANSI C/C++

Спец. продукты:

1. Wereless OS9(беспроводная OS9)

2. Internet OS9 (работает с телевизионным приемником, пейджером)

3. Devid/Devidlite (расширенная опер-ная среда согласования комплексов стандартов для цифровой, бытовой электроники или приставки с возм-тью коммуникации по тел, телевизору, каб. сетям или беспроводных сетях )

4. FastTRAK для UNIX Windows (оболочка автоматизированного процесса создания, отладки, анализа и управление сложными проектами)

 

20.Операционная система QNX явл разработкой канадской компании QNX Software System (1981). Опер сист QNX представляет собой гибрид 16/32-битовой опер-ой сист, кот польз-ль м конфигурировать по своему усмотрению. Наиболее часто она прим-тся для создания систем, раб-щих в реал масштабе врем. Время, необх-ое для полной инсталляции сист, вкл сетевые средства, сост-ет всего 10–15 мин, после чего можно начинать работу. Нетребовательность сист к ресурсам проявляется уже в том, что сист с необх-й и Дост-ой средой разработки в виде компилятора Watcom C/C++ (основной компилятор для QNX) умещается в 10 Мб.QNX – первая коммерческая ОС, построенная на принципах микроядра и обмена сообщениями (Микроядро сист выступает в кач-ве диспетчера сообщений, переадресовывая сист-ые вызовы прикладных прогр клиентов к соотв-щим сервисам серверам и обратно. Как уже говорилось, такое построение явл одним из наиб оптим-х решений в ОСРВ и обесп-ет высокую над-сть и масштаб-сть сист). Сист реализована в виде совок-сти независимых (но взаимод-щих через обмен сообщениями) процессов различного уровня (менеджеры и драйверы), каждый из кот реализует опред-ый вид сервиса.

 Преимущества: *предсказуемость. *масштабируемость и эфф-сть, достигаемые оптимальным исп-нием рес-ов и означающие ее применимость для встроенных (embedded) систем.*расширяемость и над-сть одновр-но, поскольку написанный драйвер не нужно компилировать в ядро, рискуя вызвать нестабильность сист.

Сист построена по технологии FLEET [Fault-tolerance (отказоустойчивая), Load-bаlаncing (регулирующая нагрузку), Еffiсiеnt (эффективная), Ехtеnsible (расширяемая), Тгаnsparent (прозрачная)], которая выражается в следующем. QNX явл ОСРВ на основе микроядра (размером около 10 Кб). В кач-ве осн ср-ва взаим-твия между процессами система исп-т передачу сообщений. Благодаря этому в 32-битовой среде возможно взаим-вие процессов с 32 и 16-битовыми кодами, причем сообщения передаются между любыми процессами, незав-мо от того, находятся ли процессы на одном компе или на разных узлах сети.                                                                                  Польз-ль, работая на одном из узлов сети, может иметь доступ к любым ресурсам остальных узлов, включая порты, файловую сист и задачи. Опер сист QNX объединяет всю сеть ПК в единый набор ресурсов с абсолютной прозрачностью доступа к ним. Узлы могут доб-ся и искл-ся из сети, не влияя на целостность сист. Сетевая обработка данных в QNX явл настолько гибкой, что можно объединить в одну сеть любой разнородный набор Intel совместимых комп-ов, соед-ых через Arcnet, Ethernet, Token Ring или через посл-ый порт, к кот также м б подключен модем. QNX имеет некот ограничения, связанные с ориентацией сист на рынок встроенных СРВ: нет поддержки SMP; отсутствует запись Вирт-ой памяти на диск; неэфф-ая и нестандартная поддержка нитей; неполноценная реализация отображения файлов в память; нет поддержки UNIX-domain sockets; слабые ср-ва безопасности в рамках собственного сетевого протокола. Несмотря на присущие минусы, для QNX разработано мн-во польз-их программ (напр, бд, кот по произв-сти часто превосходят аналоги под упр-ем др опер систем).

 

21.В последние два года сразу несколько фирм объявили о создании расширений реального времени для Windows NT. Этот означает, что подобные продукты были востребованы, что и подтверждает динамика их рыночного развития. В самом деле, появление в свое время UNIX-ов реального времени означало ни что иное, как попытку применить господствующую программную технологию для создания приложений реального времени. Появление расширений реального времени для Windows NT имеет те же корни, ту же мотивацию - огромный набор прикладных программ под Windows, мощный программный интерфейс WIN32, большое количество специалистов, знающих эту систему. Несмотря на то, что Windows NT создавалась как сетевая операционная система, в нее при создании были заложены особенности - элементы реального времени, а именно – эффективная двухуровневая система обработки прерываний (ISR и DPC), классы приоритетов реального времени (процессы с приоритетами 16-32 планируются в соответствии с правилами реального времени). Возможно, причина появления этих элементов кроется в том, что у разработчиков Windows NT за плечами есть опыт создания классической для своего времени ОСРВ RSX11М (для компьютеров фирмы DEC). Даже поверхностный анализ Windows NT показывает, что эта система не годится для построения систем жесткого реального времени: *система непредсказуема - время выполнения системных вызовов и время реакции на прерывания сильно зависит от загрузки системы; *для встраиваемых приложений слишком велики требования по памяти и высока цена массовой лицензии; *небольшое количество приоритетов в классе реального времени (не более 64); *не решена проблема инверсии приоритетов (адаптивной смены приоритетов); *драйвера устройств имеют очень медленные процедуры вызовов (DPC) и не допускают прерываний другими драйверами (DPC); *нет механизмов защиты от "зависаний" и пр. Т.о. Windows NT можно использовать в СРВ в следующих случаях: *мягкие СРВ с возможными нарушениями временных ограничений ; *в простых системах, где число типов событий невелико (предсказуемость результата выше, время переключения системы минимальное); *при невысокой нагрузке на CPU (возможность DPC выйти на прерывание); *незначительное число драйверов, алгоритмы которых неизвестны; *критические секции все или почти все обрабатываются на уровне DPC или механизма прерываний ISR. Поэтому даже в системах мягкого реального времени Windows NT можно использовать только при выполнении целого ряда рекомендаций и ограничений; *Ведение абсолютных приоритетов DPC; *Драйверы от поставщиков и драйверы устройств вообще д.б. конфигурируемы и у них должны быть известны времена обработки DPC и ISR; *Д.б. увеличено число приоритетов; *Д.б известно время использования каждого системного вызова. Расширения реального времени Windows NT имеют те же проблемы, что и UNIX'ы реального времени: невозможность построения компактных систем и множество недостатков при работе в реальном времени. Это позволяет предположить с высокой степенью вероятности, что на рынке ОСРВ расширения Windows NT будут бороться за нишу, которую занимают сейчас UNIX'ы реального времени, - нишу больших систем с ограниченными требованиями к реальному времени. Расширения реального времени для Windows NT - новый класс продуктов среди операционных систем реального времени, и они найдут свою нишу на рынке ОСРВ в классе больших систем реального времени.

 

22, 23.(фирма OnTimeInformatik) Характеристики RTKernel: 1.позвояет создать многозадачную СРВ на MBMPC совместимые с контроллерами с открытой архитектуре в MSDOS. 2.представлена библиотекой или набором модулей компонуемых с приложением. Осн. характиристики:

1.количество задач с применением RTKernel зависит только от объема ОП(в расчете 1 задача -1 байт)

2. время переключения- 6 мксек. И не зависит от количества задач.

3. количество приоритетов -64.

4. алгоритм планирования задач: кооперативный, с вытеснением, с квантованием.

5. переключение задач по событию или прерыванию.

6. возможность изменения период поступления сигнала от таймера в диапозоне 0,1-55миллисек.

7. Возможность измерения временных интервалов с разрешением 1 мксек.

8. поддержка сопроцессора и его программного эмулятора.

9. использование семафоров (двоичные, счетные, для ресурсов)

10. обмен данными между задачами с использованием очередей.

11. коммуникационный драйвер до 36 последовательных портов.

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

13. возможность создания приложений в виде разделяемых программ.

14. наличие отладки в виде TurboDebager

15. возможность постановки версии с исходными текстами. Структура и принцип функционирования:

Задачи RTKernel – обычные Pascal процедуры или Си функции без параметров. Вызов функции или процедуры осуществляется из монитора Main путем вызова спец функции RTKernel Init Main Priorit -> главная задача приложения ->RTCreate Task. Структура приложения с вызовом RTKernel на ри4.

Дополнительные средства в RTKernel: 1.RTKExec монитор запуска задач 2. Драйверы устройств: а) Timer б) RTReybed- процедура обработки сигнала минуя процессор в)Ki||Key обработка паузы и PrinScrin г) RTTextID- совместное использование видио подсистем различными задачами путем предоставления собственных окон ввода/вывода д) Суммер- вывод на печать в фоновом режиме e) CPUMoni – контроль степени загруженности процессора ж) RTCOM- взаимодействие с портами СОМ1,СОМ2. з) RTIDX- совместимость с протоколом TCP и) TCP – взаимодействие между приложениями.

RTKernel 32: работает с 32-разрядными приложениями для выстраиваемых систем с обязат.включ-ем эмулятора win32 и исполняемой системой на си,си++.

Компоненты RTTarget 32: 1. TargetBootCode- загрузочый код целевой системы . Размещается в ОП и позволяет инициализировать приложения. 2. UtilitaBootDisk- формирователь дисков с кот зпгружается приложение на основе RTKernel 32 3. RTLOC- менеджер замещений 4. Монитор удаленной отладки-Debug Monitor 5. Утилита запуска на исполнения-Run Utility 6. Библиотека эмуляции интерфейса Win32 7. Библиотека вв/выв для обслуживания 4-х последующих портов. Осн. возможностиRTTarget 32: Загрузка цел системы осуществляется в 6 Кбайт ОП.В момент загрузки формируется: 1) глобальная дискрипторная таблица 2) дискрипторная таблица прерываний 3) формирование таблицы страничного преобразования для реализации след функций: поддержка Borland C/C++, Ms C/C++; удаленная кросс отладка; невысокие требования по ОП; поддержка приоритетов, страничной организации памяти; перераспределение ОП; использование виртуальных файлов в ОП.


Дата добавления: 2018-08-06; просмотров: 546; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!