SWD Software Ltd. - официальный дистрибьютор QNX на территории России и стран бывшего СССР Операционная система реального времени QNX
Инструменты для создания надёжных встраиваемых систем и
интеллектуальных устройств любой сложности
QNX Software Systems - разработчик встраиваемой операционной системы QNX
Информационные брошюры
Статьи и публикации
Обзоры
Операционные системы
Графические интерфейсы
Средства разработки
Прикладные системы на базе ОС QNX
Разное
Конкурсные статьи
Техническая литература
Материалы конференций QNX-Россия
Полезные ссылки
Блог QNX
Главная страница > Материалы > Статьи и публикации > Операционные системы > Операционная система QNX Сделать страницу стартовой Послать ссылку коллеге Версия для печати

Операционная система QNX

Тематические материалы

Операционная система реального времени QNX 

Брошюра QNX Neutrino 

10 шагов к разработке первой программы для QNX 


Информация

Коммерческий запрос 

Скачать оценочную версию QNX 

Скачать оценочную версию QNX 

Введение

QNX - это зарегистрированная торговая марка фирмы QNX Software Systems, Canada. Фирма основана в 1980 году. В то же время QNX - это операционная система (ОС) стандарта POSIX, которая позволяет обеспечить на персональном компьютере распределенную обработку данных в реальном масштабе времени. ОС QNX обладает такими возможностями, которые в настоящее время недостижимы для стандартных UNIX-систем.

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

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

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

Архитектура ОС QNX

Структура ОС QNX

Рис.1 Структура ОС QNX.

В QNX ядро имеет очень маленький размер (7 Кбайт) и выполняет две основные функции:

1. Передача сообщений . Доставка сообщений от одного процесса к другому во всей операционной системе ;

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

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

Операционная система QNX включает в себя:

1) Администратор задач (Process Manager). Отвечает за распределение памяти, запуск и окончание задач в системе.

2) Администратор периферийных устройств (Device Manager). Управляет всей периферией: консолью, терминалами, модемами, принтерами, виртуальными терминалами (окнами). Он взаимодействует с драйверами этих устройств, также являющимися отдельными задачами. Администратор периферийных устройств отвечает за такие вспомогательные функции, как вывод эха на экран, стирание и восстановление строк и т.д. Добавление нового драйвера никак не отражается на функционировании системы, так как драйвер любого устройства в QNX является обыкновенным процессом.

3) Администратор файловой системы (Filesystem Manager). Осуществляет поддержку файловой системы.

4) Сетевой Администратор (Network Manager). Обеспечивает коммуникации в сети. Его сервис необходим для передачи сообщений между процессами, действующими на разных узлах сети.

QNX поддерживает 32 уровня приоритетов для задач и три метода диспетчеризации: FIFO, round-robin, adaptive (с понижением приоритетов).

[ Вверх ]

Сетевая технология FLEET

Уникальная технология FLEET [Fault-tolerance (отказоустойчивая), Load-balancing (регулирующая нагрузку), Efficient (эффективная), Extensible (расширяемая), Transparent (прозрачная)] дает новое качество сетевой обработки данных.

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

Сетевая обработка данных в QNX является гибкой настолько, что вы можете объединить в одну сеть любой разнородный набор Intel-совместимых компьютеров ( от Intel-8086 до Intel-80486, PS-2 и Pentium). Вы даже можете объединить на одной машине такие сети, как Arcnet, Ethernet и Token Ring.

Если ваши персональные компьютеры подключены к нескольким сетям и одна из них окажется перегруженной, то QNX FLEET автоматически будет использовать другие доступные сети, разделяя нагрузку. А в случае отказа одной из сетей, QNX FLEET переключится на другую сеть "на лету".

По мере совершенствования технологии сети становятся все более доступными. Конечно, ключевым вопросом доступа и вычислений остаются вопросы быстрой коммутации. Даже при тактовой частоте 8 МГц ОС QNX имеет скорость переключения задач 6102 задач/сек, что гарантирует благоприятную среду для связи задач, выполняющихся на различных PC.

QNX поддерживает 255 узлов сети (процессоров) с помощью сетевых адаптеров Arcnet , Ethernet, Token Ring, модемов или через порты. На каждом сетевом узле возможно размещение до 64 внешних устройств (терминалы, принтеры, контроллеры и пр.).

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

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

[ Вверх ]

Файловая система QNX

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

На одном компьютере вы можете разместить кроме ОС QNX любую другую операционную систему, работающую на PC, например, MS DOS или XENIX.

Для поддержания авторизованного доступа к информации, QNX имеет номера групп доступа, как и в других операционных системах.

QNX поддерживает также механизм закрытия записей, имеющийся в UNIX System V. Важной особенностью QNX является то, что в ее составе поставляется Администратор файловой системы MS/DOS, который, будучи запущен как обычная задача, обеспечивает непосредственный доступ к гибким дискам и к разделам MS DOS на жестких дисках системы. Файлы на этих дисках могут редактироваться, выводиться на печать, компилироваться и т.п., как если бы они находились в стандартной файловой системе QNX.

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

[ Вверх ]

Развитая среда разработки

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

В настоящее время для работы в среде QNX имеется множество компиляторов, СУБД, систем автоматизации технологических процессов и других программных продуктов.

[ Вверх ]

Какие критерии выбрать для оценки операционной системы?

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

В настоящее время существуют сотни прикладных программ на базе QNX , предназначенных для управления производственными процессами, разработанных такими промышленными лидерами , как Bailey Control, Foxboro, Siemens и General Electric и т.д. Ведущие производители лабораторных измерительных систем, такие, как Beckman Instruments, 3M, Du Pout, Mettlev-Toledo и другие, используют для своих систем QNX, как надежную, высокопроизводительную операционную систему.

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

[ Вверх ]

Система управления движением городского транспорта.

В городе Оттава-Карлетон (Канада) на базе операционной системы QNX разработана система управления движением городского транспорта муниципалитета города (RMOC - Regional Municipality of Ottawa-Calerton).

Эта система (одна из самых больших в Северной Америке) объединяет 698 светофоров и 2660 придорожных датчиков на протяжении 1100 километров шоссе. Пропускная способность этих шоссе - 5.4 биллиона автомобилей ежегодно. Кроме времени и продолжительности переключения сигналов светофоров на каждом перекрестке города данная система управления должна фиксировать происходящие события, анализировать работоспособность оборудования через придорожные датчики. За то время, пока вы читали эту статью , данная система управления должна была выдать примерно 250 тысяч команд светофорам и получить около трех миллионов ответов (данная информация займет около 8 Мб памяти). Система управления RMOC, которая была внедрена пять лет назад, в настоящее время вышла за рамки мини-системы с такой простотой, которая отличает все системы, разработанные на базе QNX.

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

Для сравнения, предыдущая система :

- потребовала 90 человеко-лет на разработку и 8 месяцев на инсталляцию;
- стоила 2 миллиона канадских долларов;
- управляла 640 перекрестками;
- занимала 85% оперативной памяти.

Операционная система QNX:

- потребовалось 2 человеко-года на разработку и 2 недели на инсталляцию; - стоимость 10 тысяч канадских долларов за каждый узел;
- один узел управляет 512 перекрестками; - для работы требуется всего 10% оперативной памяти.
[ Вверх ]

Система управления ядерным реактором.

Приморское отделение канадской компании Atomic Energy of Canada Ltd., которая известна как разработчик, производитель и продавец ядерных реакторов, специализируется на разработке программных продуктов по управлению и мониторингу. На основе операционной системы QNX этим отделением разработана система управления ядерным реактором, которая называется Распределенная Система Управления с Открытой Архитектурой (Open Architecture Distributed Control System). Последнее применение данной системы управления - это использование ее в Словении на ядерной электростанции, разработан- ной в США.

Система включает следующие функции:

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

Отказоустойчивый внутрисистемный интерфейс достигается с помощью взаимодействия промышленных компьютеров c шиной VME-bus и с шиной ISA-bus.

[ Вверх ]

Система слежения за автомобилями Teletrac.

В середине ночи вор незаметно пробрался в вашу машину , замкнул провода зажигания и ... У вас нет никаких шансов обнаружить, в каком направлении он скрылся ? Но это не так ! Спустя несколько секунд после кражи полиция уже знает в каком направлении и с какой скоростью движется ваша машина. Возможно ли это ? Конечно возможно, с помощью системы слежения за автомобилями - Teletrac, полностью разработанной на базе ОС QNX.

Эта система в настоящее время успешно применяется в таких крупных городах США, как Лос-Анджелес, Чикаго, Майами. Система Teletrac применяется для трех основных типов задач:

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

Система Teletrac может отслеживать до 70 автомобилей в секунду по каждому информационному каналу с точностью до 30 метров.

[ Вверх ]

Исследовательские системы

Кроме применения QNX в области управления, она так же успешно используется и для научных исследований.

Проблема разрушения озонового слоя в последние годы стала "горячей" темой. Зарубежная пресса много писала о проекте атмосферных исследований (Atmospheric Research Project), проводимого в Гарвардском университете. В качестве операционной системы группа исследователей выбрала QNX. Решающую роль в этом выборе сыграла возможность работы в реальном масштабе времени - необходимое требование для систем сбора информации.

В университете McGill, в отделе химических исследований, QNX была использована для разработки управляющей системы в области производства пластмасс.

QNX также применялась в отделе аэронавтики и астронавтики в Массачусетском Технологическом институте в рамках исследовательской программы подводных экспериментов для космических роботов.

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

Основное преимущество QNX - это компактность и скорость работы операционного ядра. Работающая ОС занимает только 148 КБ (ядро-7 Кб) и на 80286 или 80386 компьютерах, имеющих сильную нагрузку, вполне может функционировать как система реального времени. Многие QNX-приложения, используя е± скорость, предлагают обработку сообщений в реальном масштабе времени и системный мониторинг в мультизадачном режиме.

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

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

Следующие временные характеристики были зарегистрированы при измерении скорости переключений задач в QNX и UNIX - подобных системах.

Время переключения контекстов в различных OS.

OC ЭВМ Время на переключение, (микросекунды)
QNX 4.2 60 MHz ALR Pentium 28
HP-RT 1.1 100 MHz HP-747x 34
QNX 4.2 66 MHz IBM 80486DX2 44
QNX 4.2 33 MHz IBM 80486DX 80
DEC OSF/1 V1.3 150 MHz DEC 21064 93
SunOS 4.1.3 50 MHz SuperSPARCv8 95
DEC 3000 150 MHz DEC 21064 100
AIX 3.2 62 MHz RS6000 102
HP-UX 9.x 66 MHz snake 106
SunOS 4.1.3 40 MHz viking 128
Ultrix 4.3 40 MHz Digital MIPS R3000 132
Linux 0.99.13p 66 MHz Gateway 80486DX2 171
SunOS 4.1.1 33 MHz Sun SPARC 198
386BSD 0.1 33 MHz IBM 80486DX 210
AIX 3.2 50 MHz RIOS 212
SunOS 4.1.3 50 MHz SPARCv7 230
Unicos Cray Y/MP 373
QNX 4.2 16 MHz IBM 80386SX 525
Solaris 2.3 50 MHz microSPARCv8 595

Данные, находящиеся в этой таблице, взяты из телекоференции comp.os.qnx и собраны в таблицу сотрудниками фирмы "SWD - Real Time Systems". (Исходный текст тестовой программы, доступен по запросу всем желающим).

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

Кондратюк А.А., Ющенко С.В., Агафонов Л.В.
'Монитор' 1/94

Рассказать друзьям:

Rambler's Top100           Рейтинг@Mail.ru