Qnx или windows ce

Qnx или windows ce

В данном разделе описаны отличия ОСРВ QNX Neutrino от ОС UNIX и Microsoft Windows с точки зрения пользователя, а не разработчика. Более подробные сведения об архитектуре ОСРВ QNX Neutrino и философии, лежащей в ее основе, представлены в документе «Описание применения. Часть 1. Системная архитектура» КПДА.10964-01 31 01.

Если вы знакомы с UNIX-подобными операционными системами, вам будет очень легко разобраться в QNX Neutrino. Многие люди даже произносят аббревиатуру QNX на манер UNIX («кьюникс»). В основе рассматриваемой операционной системы лежит микроядро Neutrino, которое работает в окружении группы процессов (включая, например, командный интерпретатор Korn Shell ksh,см. раздел 4). Каждый процесс имеет свой идентификатор (process ID, PID) и содержит в себе один или несколько потоков.

Примечание. Определить версию релиза ядра вашей системы вы можете с помощью команды uname -a. Подробнее см. в «Описание программы. Часть 1. Справочник по утилитам» КПДА.10964-01 13 01.

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

ОСРВ QNX Neutrino соответствует различным промышленным стандартам, в том числе POSIX (командный интерпретатор и утилиты) и TCP/IP, что облегчает задачу переноса существующего кода и скриптов в QNX Neutrino.

Командная строка в ОСРВ QNX Neutrino выглядит так же, как и в UNIX. Поддерживаются многие привычные утилиты ( grep, find, ls, awk), которые можно объединять при помощи неименованных программных каналов (pipe). Также возможно перенаправлять потоки ввода и вывода, проверять коды возврата и т. д. Многие утилиты повторяются в UNIX и ОСРВ QNX Neutrino, однако некоторые утилиты в QNX Neutrino имеют другое имя или синтаксис (табл. 1.1).

3. Управление учетными записями пользователей

Описание программы (КПДА.10964-01 13)

Описание программы (КПДА.10964-01 13)

18. Резервное копирование и восстановление данных

4. Командная строка

4. Командная строка

Подробное описание каждой команды можно найти в «Описании программы. Часть 1. Справочник по утилитам» КПДА.10964-01 13 01.

ОСРВ QNX Neutrino и ОС Windows имеют разные архитектуры, однако, с точки зрения пользователя, основное различие между ними заключается в способе запуска программ. Многое из того, что пользователь Windows делает посредством графического пользовательского интерфейса (Graphical User Interface, GUI), пользователь QNX Neutrino выполняет с помощью утилит командной строки, конфигурационных файлов и скриптов. Тем не менее, в ОСРВ QNX Neutrino реализована мощная интегрированная среда разработки (Integrated Development Environment, IDE), которая позволяет создавать, тестировать и отлаживать программы и встраиваемые системы.

Приведем еще несколько основных отличий.

В QNX Neutrino и DOS применяются разные символы конца строки: в QNX Neutrino используется символ перехода на новую строку, а в DOS — символ возврата каретки и символ перевода строки. Если необходимо перенести текстовый файл из одной ОС в другую, вы можете воспользоваться утилитой textto для конвертирования файла. Например, для того чтобы конвертировать символы конца строки в формат QNX Neutrino, введите следующую команду:

textto -l my_file

Для того чтобы конвертировать символы конца строки в формат DOS, введите команду:

textto -l my_file

В QNX Neutrino используется прямой слэш ( /) вместо обратного слэша (\) в качестве разделителя в именах путей.

В QNX Neutrino нельзя использовать DOS-команды, однако вместо них существует множество эквивалентов. Более подробные сведения см. в подразд. «QNX Neutrino для пользователей MS-DOS» раздела 4.

Хотя ОСРВ QNX Neutrino вполне может служить в качестве настольной ОС, компания QNX Software Systems не поставляет с ней настольные приложения, вроде текстовых редакторов, электронных таблиц или почтовых клиентов. Некоторые приложения такого рода предлагаются третьими сторонами (в том числе их можно найти на веб-сайте сообщества Foundry 27, http://community.qnx.com ).

Читайте также:  Создание gui для linux

ОСРВ QNX Neutrino состоит из микроядра и различных процессов. Каждый процесс, в том числе драйверы устройств, выполняется в своем собственном виртуальном пространстве памяти (рис. 1.1).

Рис. 1.1. Архитектура ОСРВ QNX Neutrino

Преимущество использования виртуальной памяти в том, что один процесс не может повредить адресное пространство другого процесса. (Более подробные сведения можно найти в главе 1 документа «Описание применения. Часть 1. Системная архитектура» КПДА.10964-01 31 01).

Главной особенностью ОСРВ QNX Neutrino является ее микроядерная архитектура, вокруг которой строится инфраструктура администраторов ресурсов (см. далее). Драйверы имеют точно такой же статус, как и другие пользовательские приложения, поэтому их отладку можно выполнять с помощью тех же высокоуровневых инструментов IDE, которые используют исходный текст (source-aware) и точки останова (breakpointing) и которые обычно применяются для отладки пользовательских приложений.

Это также означает, что:

процесс отладки драйвера не затрагивает ядро;

сбой драйвера не приведет к сбою всей ОС;

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

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

Более того, благодаря модульности ОСРВ QNX Neutrino, в реализованную систему можно включать избыточные компоненты в виде простого, но весьма эффективного администратора высокой готовности (High Availability (HA) manager), который, в отличие от более монолитных архитектур, значительно упрощает создание систем высокой степени отказоустойчивости. Конечно, простота, с которой рабочие устройства могут быть отображены в пространство путевых имен POSIX, также является привлекательным преимуществом ОСРВ QNX Neutrino.

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

Некоторые системы x86 могут функционировать в режиме SMM ( System Management Mode, режим управления системой), при котором BIOS устанавливает особый код, выполняющийся при возникновении SMI ( System Management Interrupt, прерывание управления системой). Прерывания SMI могут быть сгенерированы материнской платой или периферийным оборудованием и не может маскироваться операционной системой. При входе в режим SMM обычные действия — включая ОС — приостанавливаются, и обработчик SMI выполняется с высоким приоритетом. Избегайте использования систем, в которых SMM не может быть отключен, поскольку этот режим может негативно отразится на характеристиках реального времени QNX Neutrino. Операционная система не может ни повлиять на задержки, вносимые SMM, ни даже определить факт перехода системы в SMM.

Микроядерная архитектура ОСРВ QNX Neutrino позволяет масштабировать программный код в соответствии с требованиями очень компактных встраиваемых систем с минимальными ресурсами, и в то же время ОСРВ QNX Neutrino является достаточно мощной, чтобы работать в качестве настольной ОС. ОСРВ QNX Neutrino поддерживает различные аппаратные платформы, в том числе x86, ARM, MIPS, PPC и SH-4, а также позволяет реализовывать симметричную многопроцессорность (symmetric multiprocessing, SMP) и многопроцессорность с привязкой (bound multiprocessing, BMP) на многоядерных системах с количеством процессоров до 32.

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


Администратор
ресурсов (resource manager) — это серверная программа, которая принимает сообщения от других программ и может взаимодействовать с оборудованием. Все драйверы устройств и файловые системы в ОСРВ QNX Neutrino реализуются как администраторы ресурсов.

Читайте также:  Fixing mbr in windows

Администраторы ресурсов служат для обеспечения интерфейса с различными типами устройств. В их число могут входить как физические устройства (например, последовательные порты, параллельные порты, сетевые карты, диски), так и виртуальные (например, /dev/null, сетевая файловая система, псевдотерминалы).

Взаимодействие между администратором ресурса и клиентской программой, использующей данный ресурс, осуществляется посредством гибкого механизма пространства путевых имен (pathname-space mapping). Этот механизм служит для ассо­циирования путевых имен с администратором ресурсов. Для этого администратор ресурсов уведомляет администратор процессов (process manager) о том, что он будет отвечать за обработку запросов к заданной точке монтирования (или ниже нее в случае файловых систем). Таким образом, администратор процессов устанавливает связь между службами (т. е. функциями, предоставляемыми администраторами ресурсов) и именами путей.

Как только администратор ресурсов установил свой префикс путевого имени, он начинает получать сообщения при каждой попытке клиентской программы сделать по этому путевому имени вызов open(), read(), write() и т. д.

Более подробные сведения см. в главе 8 руководства «Описание применения. Часть 1. Системная архитектура» КПДА.10964-01 31 01.

Qnx или windows ce

В декабре прошлого года для проекта РЛС методом споров и дебатов в качестве ОС для прикладного ПО выбрали QNX. Сели, начили осваивать. с по-переменным успехом проект почти собрали.
Параллельно пробовали другие ОС, приближенные к реальному времени.

Поинтересовались и погоняли Windows XP. Время реакции 20-40 мс, и то если научиться отключать все лишнее. О проектах в виде драйвера много слышали, но реально не видели и не пробовали.
Работали с Windows CE, вели долгую переписку с ее разработчиками. Потренеровались в плане сборки образов для ПК, тестировали возможности. Осталось впечатление некой «сырости» и обрезаности в возможностях (низкая скорость работы с жесткими дисками, урезанная работа с сокетами и т.д).

Linux шефы применяли года 3-4 назад и сейчас наотрез отказываются думать в этом направлении.

Я читал несколько тем (Преимущества QNX и миграция из QNX в Linux). Если у кого-то был успешный или неуспешный опыт работы с Windows CE, поделитесь с нами впечатлением.
Перспективы у CE огромные : стоимость — копейки, профессиональная документация, поддержка. Мы серьезно задумались о CE. Если есть причины разочаруйте нас, пожалуйста. Возможно есть и другие варианты.

_Alex_
Перспективы у CE огромные : стоимость — копейки, профессиональная документация, поддержка. Мы серьезно задумались о CE. Если есть причины разочаруйте нас, пожалуйста.

Разочаровываю :

Боюсь, что в «Windows CE после QNX» вас будет сильно тошнить, как бы не вырвало. .

Возможно есть и другие варианты.

Linux шефы применяли года 3-4 назад и сейчас наотрез отказываются думать в этом направлении.

Поищите «варианты» в области embedded Linux, FreeBSD, NetBSD etc. А то, что «наотрез». так это может от того, как «применяли»? . И «года 3-4 назад» очень немаловажно — в этой области очень положительная динамика: за те же 3-4 года очень многое изменилось. (вот в QNX как было в 6.0 «на уровне ожиданий» — так в 6.3 практически и осталось).

Боюсь, что в «Windows CE после QNX» вас будет сильно тошнить, как бы не вырвало. .

Пожалуйста, скажите почему. Спрашиваю не потому, что не согласен, а по тому что по неопытности не знаю. Мне сравнивать трудно, но в Windows XP писать приложения довольно интересно (может опять же по неопытности: по Windows много литературы, много людей в этом вариться, . ).

Olej
Поищите «варианты» в области embedded Linux, FreeBSD, NetBSD etc

Если у кого-то есть ссылки на описания возможностей этих ОС (лучше, конечно сравнительная статья), поделитесь, пожалуйста.
А также какая стоимость дистрибутивов этих ОС и условия получений demo-версий ?

_Alex_
Пожалуйста, скажите почему.

Читайте также:  Openvpn windows certificate store

Не стану я этого делать — и вовсе не от плохого к вам отношения, а потому, что:
— если затронуть эту тему (ещё раз) — то здесь пойдёт такой флейм, . и ничего нового сказно не будет .
— . потому что множество всего на эту тему уже сказано: зайдите на любой форум и посмотрите «UNIX vs Windows» или что-то подобное. здесь, в ближайшем окружении, посмотрите:
http://qnx.org.ru/viewthread7n1690.html
http://qnx.org.ru/viewthread7n2340.html
http://qnx.org.ru/viewthread7n611.html
http://qnx.org.ru/viewthread3n24.html
http://qnxclub.net/modules.php?name=Forums&file=viewtopic&t=95&highlight=windo ws
http://qnx.org.ru/viewthread3n2208.html

Если у кого-то есть ссылки на описания возможностей этих ОС (лучше, конечно сравнительная статья), поделитесь, пожалуйста.

_Alex_
Если у кого-то есть ссылки на описания возможностей этих ОС

«Сон в руку» . :

— тут как раз вышел в Украине 1-й (абсолютно 1-й! — может и последний ) номер журнала «Мир автоматизации»:
http://www.automationworld.com.ua/
В этом номере обзор «Тест на жёсткость» (QNX, VxWorks, Windows CE) — версии старые, материал основан на Dedicated Systems, . но всё же для начального выбора — любопытно.

P.S. Кстати, на этом URL написано: «Заполни анкету и получи 1-й номер бесплатно!» — кому интересно — экспериментируйте .

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

Wlad
А как на счёт показателей файловой системы? с файлами > 2Г оно как себя чувствует?

Умеет работать с FAT, FAT32, CDFS (не проверял),UDFS(не проверял) со всеми вытекающими ограничениями. Кроме того есть некий transaction-safe FAT (TFAT). Вот пара слов из документации:
A TFAT file system ensures that the file allocation table (FAT) and directories remain intact if power loss occurs. In order to accomplish this, the FAT and directory data is either completely written or completely not written, per transaction. Because TFAT prevents the FAT and directory data from being inconsistent with each other, write operations cannot corrupt the main volume on a disk.

насчет больших файлов — не знаю, не проверял.

Посмотрите SCADA Phocus на www.nautsilus.ru

Работает в QNX4 и QNX6, по идеологии должна быть быстрой.

Есть демо, можно пощупать вживую.

YagMort

прежняя АСУ на базе QNX2/QNX4 (распределенная система) безнадежно устарела, необходимо перейти на более новое ПО, ибо новое железо просто «не понимется» этими старыми ОС.

Всё не до такой степени плохо:
— есть патчи, позволяющие поддержать и достаточно свежее оборудование:
QNX4-USB-2.0_20051004.tar.gz
winrt4.24B.030411.tar.F
QNX4-network_20050408.tar.gz
QNX4-Proc32-425Q_20050719.tar.gz
QNX4-atapi_20050429.tar.gz
qnx-4.25-01G.tarx
qnx425patchE.tar
qnx-4.25-02E.tarx
— есть заявление QSSL (мне оно пересказано со слов непосредственно одного из ядра разработчиков), о том, что линейка QNX4 начинает новую независимую жизнь, и не сворачивается, а будет развиваться автономно.

Что есть из SCADA-систем (и есть ли вообще) на QNX 6 и WinCE?

Мы в свои планы включили «пересесть» именно на эту систему.

YagMort

QNX4 уже патченая, только не легче от этого — все равно едва удалось оживить ее на новом оборудовании, и то — без шаманства не обошлось.

Я имел в виду не столько даже наличие патсчей, сколько обратить внимание на изменение позиционирования QNX4 от самих QSSL: «не будем поддерживать через Х лет» — «будем поддерживать» — «будем развивать и дополнять» — это ведь разные намерения, правда?


Как я понимаю, под Линукс вообще ничего нет, так?

Насколько я изучал — в состоянии завершённого продукта под Linux — нет, как нет и под FreeBSD etc. — которая некоторыми производителями (я знаю) рассматривалась (-ется?) как оптимальная платформа.


У RealFlex вообще прайсы есть? Или все через саппорт заказывать надо. На сайте я не нашел.

Стоимости RealFlex соизмеримы, а иногда и ниже, чем широко известных SCADA-эквивалентов под Windows. За деталями обращайтесь к саппорт-разработчикам, тем более, что там «наши» люди (из числа присутствующих здесь в форуме).

Оцените статью