Получение и установка дистрибутива QNX SDP. QNX — операционная система для чайников

21 июля 2011 в 20:56

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

  • *nix

Так сложилось, что моя деятельность связана с операционной системой реального времени (ОСРВ) QNX. Уже несколько лет занимаюсь разработкой как под эту ОС, так и некоторых частей самой системы. Обратил внимание на то, что поиск на хабре выводит немного результатов по запросу QNX, однако, мне кажется, что эта ОСРВ может быть интересна не только специалистам по встраиваемым и высоконадёжным системам, но и более широкой публике. Не секрет, что планшетный компьютер BlackBerry PlayBook производства компании RIM основан на QNX и имеет популярность и у нас.

Немного о QNX

ОСРВ QNX это не клон или дистрибутив Linux или ответвление какой-то другой UNIX-подобной системы. QNX самостоятельная UNIX-подобная операционная система реального времени, основанная на микроядре и передаче сообщений. Современные версии QNX имеют поддержку стандартов POSIX (и сертифицированны по ним). Первая версия QNX вышла в далёком 1981 году. С тех пор утекло достаточно много времени и поколения QNX сменяли друг друга: QNX2, QNX4 и, наконец, QNX 6 (или QNX Neutrino). Старичок QNX2 и сейчас ещё используется, хотя его расцвет пришёлся на 80-е годы прошлого столетия. Надёжная и более современная ОСРВ QNX4 могла конкурировать на десктопе с Windows в середине 90-х (на скриншоте ниже экран русифицированной версии QNX4):

В конце 90-х стала развиваться новая ветка QNX - QNX6 или QNX Neutrino. Это современная версия ОСРВ, которая вышла в самом начале 2000-х и привнесла много нового в QNX: поддержку отличных от x86 аппаратных архитектур (MIPS, PowerPC, ARM, SH4), поддержку многопроцессорности, поддержку разделяемых библиотек и т.д. Были переработаны подсистемы ОСРВ, например, графическая система Photon и сетевая подсистема. К слову, теперь существует возможность достаточно простого портирования сетевых драйверов NetBSD в QNX6.

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

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

Области применения QNX

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

Состав QNX6

У некоторых новых пользователей QNX (наверное не таких продвинутых, как участники Хабрахабр) может вызвать недоумение состав и компоненты QNX6. Постараюсь предотвратить путаницу, которая может возникнуть в дальнейшем. За те десять лет, что QNX6 доступен пользователям, применялись различные варианты поставки QNX. Сейчас используется упрощённая и наиболее удачная (на мой взгляд) схема поставки, и QNX 6.5.0 состоит из следующих двух основных компонентов:
  • QNX Neutrino - включает в себя микроядро (даже набор микроядер), драйверы, утилиты, графическую среду и т.д. для поддерживаемых аппаратных платформ (x86, MIPS, PowerPC, ARM, SH4).
  • QNX SDP (Software Development Platform) - включает в себя среду разработки Momentics IDE на базе Eclipse, компиляторы, заголовочные файлы и библиотеки для разработки, а также QNX Neutrino.
Надо отметить, что QNX SDP доступен для Windows и Linux платформ. Официально поддерживаются только несколько дистрибутивов Linux, но на практике требуется не так и много, по большему счёту, только современная Java. Я лично разрабатываю под QNX в инструментальной системе на базе ArchLinux 64-бит.

На всякий случай, уточню, что операционной системой является QNX Neutrino, а QNX SDP это средства кроссплатформенной разработки для QNX Neutrino.

ПО для QNX Neutrino

В дистрибутив QNX6 входят помимо микроядра и драйверов ряд консольных утилит, как специфичных для QNX, так и общих для всех UNIX-подобных систем. Помимо этого присутствует графическая подсистема на базе Photon 2.0. Это самостоятельная графическая среда, которая не совместима ни с Windows, ни с X-Window. Однако, существует системный сервис XPhoton, который позволяет запускать графические приложения использующие X-протокол.

Для QNX6 доступны и другие графические среды, которые основаны на технологиях Adobe Flash Lite 3 (доступен отдельно) или Qt/Embedded (на данный момент в Foundry27 доступна версия 4.7.1).

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

QNX6 поддерживает спецификации POSIX, а значит не должно составить большого труда собрать в QNX грамотно написанный код на языке C. Что, кстати, я делал неоднократно.

Типы лицензий QNX6

QNX это коммерческая операционная система и для установки понадобится лицензия. Существуют различные виды лицензий QNX6:
  • Коммерческая лицензия предполагает покупку ОСРВ QNX6 у дистрибьютора. Это необходимо делать в случае коммерческой разработки устройств или ПО на базе QNX.
  • Академическая лицензия предоставляется вузам для обучения студентов и работы преподавателей.
  • Пробная лицензия (на 30 дней) позволяет ознакомиться с полнофункциональной версией QNX и средой разработки, чтобы оценить целесообразность приобретения ОСРВ.
  • Некоммерческая лицензия позволяет работать с QNX и вести некоммерческую разработку.
Понятное дело, что некоммерческая лицензия без ограничения срока действия наиболее интересный вариант знакомства с ОСРВ QNX6.

Регистрация аккаунта myQNX

Для доступа ко многим разделам сайта qnx.com и сообществу Foundry27 требуется регистрация. Регистрация простая и не занимает много времени. Для регистрации надо зайти на сайт www.qnx.com и перейти по ссылке Login , расположенной в верхнем правом углу. После этого следует выбрать пункт New member? после чего откроется форма регистрации в нижней части экрана. Теперь осталось указать e-mail, ввести и подтвердить пароль и нажать кнопку Create Account . Для окончания регистрации понадобится заполнить небольшую анкету и получить код подтверждения по электронной почте, который необходимо указать в форме на следующей странице. На этом регистрация заканчивается, теперь можно скачать дистрибутив QNX.

Регистрация некоммерческой лицензии

Переходим на страницу Non-commercial developers . На первом шаге предлагают скачать QNX SDP под ту инструментальную платформу, в которой планируется вести разработку. Сейчас этот шаг можно пропустить и сразу перейти к шагу два (ниже). Надо отметить, что Вы согласны с лицензионным соглашением (если Вы действительно согласны), проверить, что указанные данные верны, и нажать кнопку Submit . После этого лицензия будет выслана на указанный адрес электронной почты.

Если письмо с лицензионным ключом будет утеряно, то его всегда можно будет посмотреть

Так сложилось, что моя деятельность связана с операционной системой реального времени (ОСРВ) QNX. Уже несколько лет занимаюсь разработкой как под эту ОС, так и некоторых частей самой системы. Обратил внимание на то, что поиск на хабре выводит немного результатов по запросу QNX, однако, мне кажется, что эта ОСРВ может быть интересна не только специалистам по встраиваемым и высоконадёжным системам, но и более широкой публике. Не секрет, что планшетный компьютер BlackBerry PlayBook производства компании RIM основан на QNX и имеет популярность и у нас.

Немного о QNX

ОСРВ QNX это не клон или дистрибутив Linux или ответвление какой-то другой UNIX-подобной системы. QNX самостоятельная UNIX-подобная операционная система реального времени, основанная на микроядре и передаче сообщений. Современные версии QNX имеют поддержку стандартов POSIX (и сертифицированны по ним). Первая версия QNX вышла в далёком 1981 году. С тех пор утекло достаточно много времени и поколения QNX сменяли друг друга: QNX2, QNX4 и, наконец, QNX 6 (или QNX Neutrino). Старичок QNX2 и сейчас ещё используется, хотя его расцвет пришёлся на 80-е годы прошлого столетия. Надёжная и более современная ОСРВ QNX4 могла конкурировать на десктопе с Windows в середине 90-х (на скриншоте ниже экран русифицированной версии QNX4):

В конце 90-х стала развиваться новая ветка QNX - QNX6 или QNX Neutrino. Это современная версия ОСРВ, которая вышла в самом начале 2000-х и привнесла много нового в QNX: поддержку отличных от x86 аппаратных архитектур (MIPS, PowerPC, ARM, SH4), поддержку многопроцессорности, поддержку разделяемых библиотек и т.д. Были переработаны подсистемы ОСРВ, например, графическая система Photon и сетевая подсистема. К слову, теперь существует возможность достаточно простого портирования сетевых драйверов NetBSD в QNX6.

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

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

Области применения QNX

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

Состав QNX6

У некоторых новых пользователей QNX (наверное не таких продвинутых, как участники Хабрахабр) может вызвать недоумение состав и компоненты QNX6. Постараюсь предотвратить путаницу, которая может возникнуть в дальнейшем. За те десять лет, что QNX6 доступен пользователям, применялись различные варианты поставки QNX. Сейчас используется упрощённая и наиболее удачная (на мой взгляд) схема поставки, и QNX 6.5.0 состоит из следующих двух основных компонентов:
  • QNX Neutrino - включает в себя микроядро (даже набор микроядер), драйверы, утилиты, графическую среду и т.д. для поддерживаемых аппаратных платформ (x86, MIPS, PowerPC, ARM, SH4).
  • QNX SDP (Software Development Platform) - включает в себя среду разработки Momentics IDE на базе Eclipse, компиляторы, заголовочные файлы и библиотеки для разработки, а также QNX Neutrino.
Надо отметить, что QNX SDP доступен для Windows и Linux платформ. Официально поддерживаются только несколько дистрибутивов Linux, но на практике требуется не так и много, по большему счёту, только современная Java. Я лично разрабатываю под QNX в инструментальной системе на базе ArchLinux 64-бит.

На всякий случай, уточню, что операционной системой является QNX Neutrino, а QNX SDP это средства кроссплатформенной разработки для QNX Neutrino.

ПО для QNX Neutrino

В дистрибутив QNX6 входят помимо микроядра и драйверов ряд консольных утилит, как специфичных для QNX, так и общих для всех UNIX-подобных систем. Помимо этого присутствует графическая подсистема на базе Photon 2.0. Это самостоятельная графическая среда, которая не совместима ни с Windows, ни с X-Window. Однако, существует системный сервис XPhoton, который позволяет запускать графические приложения использующие X-протокол.

Для QNX6 доступны и другие графические среды, которые основаны на технологиях Adobe Flash Lite 3 (доступен отдельно) или Qt/Embedded (на данный момент в Foundry27 доступна версия 4.7.1).

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

QNX6 поддерживает спецификации POSIX, а значит не должно составить большого труда собрать в QNX грамотно написанный код на языке C. Что, кстати, я делал неоднократно.

Типы лицензий QNX6

QNX это коммерческая операционная система и для установки понадобится лицензия. Существуют различные виды лицензий QNX6:
  • Коммерческая лицензия предполагает покупку ОСРВ QNX6 у дистрибьютора. Это необходимо делать в случае коммерческой разработки устройств или ПО на базе QNX.
  • Академическая лицензия предоставляется вузам для обучения студентов и работы преподавателей.
  • Пробная лицензия (на 30 дней) позволяет ознакомиться с полнофункциональной версией QNX и средой разработки, чтобы оценить целесообразность приобретения ОСРВ.
  • Некоммерческая лицензия позволяет работать с QNX и вести некоммерческую разработку.
Понятное дело, что некоммерческая лицензия без ограничения срока действия наиболее интересный вариант знакомства с ОСРВ QNX6.

Регистрация аккаунта myQNX

Для доступа ко многим разделам сайта qnx.com и сообществу Foundry27 требуется регистрация. Регистрация простая и не занимает много времени. Для регистрации надо зайти на сайт www.qnx.com и перейти по ссылке Login , расположенной в верхнем правом углу. После этого следует выбрать пункт New member? после чего откроется форма регистрации в нижней части экрана. Теперь осталось указать e-mail, ввести и подтвердить пароль и нажать кнопку Create Account . Для окончания регистрации понадобится заполнить небольшую анкету и получить код подтверждения по электронной почте, который необходимо указать в форме на следующей странице. На этом регистрация заканчивается, теперь можно скачать дистрибутив QNX.

Регистрация некоммерческой лицензии

Переходим на страницу Non-commercial developers . На первом шаге предлагают скачать QNX SDP под ту инструментальную платформу, в которой планируется вести разработку. Сейчас этот шаг можно пропустить и сразу перейти к шагу два (ниже). Надо отметить, что Вы согласны с лицензионным соглашением (если Вы действительно согласны), проверить, что указанные данные верны, и нажать кнопку Submit . После этого лицензия будет выслана на указанный адрес электронной почты.

Если письмо с лицензионным ключом будет утеряно, то его всегда можно будет посмотреть

Лабораторная работа №1

Установка QNX Neutrino 6.3.2.

1. Задание на лабораторную работу

    Установить операционную систему QNX

    Создать в домашней директории папку и текстовый файл в ней.

    Ознакомится с устройством файловой системы QNX

2. Введение

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

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

Система достаточно небольшая, чтобы в минимальной комплектации уместиться на одну дискету, вместе с этим она считается очень быстрой и должным образом «законченной» (практически не содержащей ошибок).

QNX Neutrino, выпущенная в 2001 году, перенесена на многие платформы, и сейчас способна работать практически на любом современном процессоре, используемом на рынке встраиваемых систем. Среди этих платформ присутствуют семейства x86, MIPS, PowerPC, а также специализированные семейства процессоров, такие, как SH-4, ARM, StrongARM и xScale.

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

Консоли и терминалы

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

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

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

С помощью команды mount можно также вывести список текущих смонтированных устройств, библиотек и т. д.

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

Командный файл не настолько гибкий, как программы на языке Cи, но он обычно удовлетворяет основным потребностям.

        3. Выполнение лабораторной работы

Установка ОСРВ QNX

Самый простой способ установки QNX - с инсталляционного CD, который в виде образа можно скачать с сайта производителя (http://www.qnx.com). Диск этот является загрузочным, и потому никаких дополнительных манипуляций не требует - достаточно вставить его в привод и, установив в BIOS соответствующую опцию, перезагрузить машину.

После загрузки с CD нам предлагают либо загрузиться с LiveCD, либо установить систему на жесткий диск.

Выбираем «F3» - Установка QNX на раздел жесткого диска

    обычный, для его выбора необходимо нажать «F1»

    подробный, после чего все дальнейшие шаги будут сопровождаться подробными комментариями. Каковые, хотя и по английски, дают достаточно информации для выбора с спорных случаях. Для его выбора необходимо нажать «F2»

На следующем шаге необходимо выбрать жесткий диск для установки

В
ыбираемF1 -Использовать все доступное пространство для установки

Выбираем установку в директорию по умолчанию, установкуQNX Neutrino SDK и встроенной среды разработки.

После окончание установки вынимаем установочный CD и перезагружаем систему.

После перезагрузки можем наблюдать экран входа в систему QNX

Запуск терминала и выполнение простейших команд

Кнопка для запуска терминала находится во вкладке«Utilities» панели управления QNX.

Основные команды shell

cd - изменть текущий рабочий каталог;

cp - сделать копию файла;

ls - список имен файлов в каталоге;

pwd - печать текущего рабочего каталога (на экран)

rm - удалить файлы.

mkdir - создать новый каталог;

mv - переместить или переименовать один файл;

rmdir - удалить каталог.

Vi текстовый редактор,для создания или окрытия файла необходимо запустить

vi имя_файла

для входа в режим редактирования необходимо нажать Insert, для выхода из него Esc. Для выхода из редактора с сохранением файла необходимо нажать ZZ (с зажатым Shift"ом)

/home -домашний каталог пользователя

Задание

    Создать в домашнем каталоге папку “Labs”

    Перейти в него

    Создать в нем тестовый файл с названием “Lab1”

Описание структуры файловой системе Linux

Для доступа к файлам также можно воспользоваться «Photon File Manager»

находящийся во вкладке «Utilities» панели управления QNX.

Корневой раздел.

В этом каталоге хранятся основные команды операционной системы, такие как команды оболочки и команды файловой системы (ls, cp и т.д.).

Здесь хранятся образы ядер QNX и менеджер загрузки

Директория содержит файлы устройств, подключенные к операционной системе.

В Linux вообще всё рассматривается, как файл, даже различные устройства, такие как принтеры, жёсткие диски, сканеры и т.д. Для получения доступа к определённому устройству, необходимо чтобы существовал специальный файл. Аналогично устроено большинство UNIX-подобных операционных систем.

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

В этом месте должна размещаться вся личная информация пользователей системы.

Почему должна? Потому что владелец компьютера может хранить свою личную информацию в любом понравившемся ему месте. В целях безопасности самой операционной системы и пользовательских данных хранить последние строго рекомендуется в директории /home. Для получения более высокой надежности операционной системы и сохранности пользовательской информации директорию /home рекомендуется выделить в отдельный раздел жесткого диска.

Эта директория предназначена для хранения системных библиотек, необходимые для работы программ из директорий /bin и /sbin и операционной системы вцелом.

Директория, в которой обычно размещаются установленные программы, имеющие большой дисковый размер или вспомогательные пакеты (например /opt/openoffice.org).

/proc - это директория, к которой примонтирована виртуальная файловая система procfs. Различная информация, которую ядро может сообщить пользователям, находится в "файлах" каталога /proc. Например, в файле /proc/modules находится список загруженных модулей ядра. А в файле /proc/cpuinfo - информация о процессоре компьютера.

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

Основные системные программы для администрирования и настройки системы (iptables, ifconfig и т.д.).

Временное хранилище данных. Аналог папки в ОС Windows - C:/Windows/Temp. Все пользователи имеют права чтения и записи в этом каталоге.

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

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

Заголовочные файлы С++.

Системные библиотеки для программ, расположенных в директории /usr.

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

Дополнительные системные программы.

Общие данные установленных программ.

        /usr/share/icons

В каталоге находятся все иконки системы.

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

Это каталог для часто меняющихся данных. Здесь находятся журналы операционной системы, системные log-файлы, cache-файлы и т. д.

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

4. Контрольные вопросы.

    Какие ОС называются реального времени? Их основные задачи.

    В чем отличие ОС реального времени от ОС для персональных РС?

    Версии QNX.

5. Литература

    Баррет Д. Linux - основные команды. Карманный справочник - М.; Кудиц-образ, 2005.

    Федорчук А. QNX: очень краткие заметки 2001

Какие требования предъявляются к оборудованию и программному обеспечению для работы в QNX RtP ?
QNX RtP (а точнее Neutrino 2.1, положенная в основу QNX RtP) - мультиплатформенная ОС (QSSL планировала выпустить версии этой ОС для компьютеров с процессорами x86, PowerPC, MIPS, ARM). Базовый пакет QNX RtP доступен пока для архитектуры x86. Для установки рекомендуется, как минимум, наличие 32 Мб ОЗУ. Список поддерживаемого оборудования есть на support.qnx.com . Рекомендуем также прочитать FAQ по аппаратному обеспечению. Также для установки необходимо наличие либо Windows 95/98/2000/ME/NT либо QNX 4.2x. В настоящее время разработаны три варианта установочных базовых пакетов - для Windows, для QNX 4.2x, образ компакт-диска.

QNX 4 запускается с одной дискеты. Возможно ли такое с QNX RtP ?
В принципе, это возможно. Самый простой пример тому - инсталляционная дискета.

С чего начать?
Cкачайте базовый пакет QNX RtP qnxrtp.exe или образ компакт-диска qnxrtp.iso с get.qnx.com , qnx.tucows.com или ftp.qnx.org.ru/pub/qnxrtp .

Каким образом устанавливается QNX RtP и придется ли мне переразмечать разделы на жестком диске?
Возможны три варианта установки:
1. для установки через Windows (24 Mb) устанавливается как отдельный файл в FAT разделе, загрузка производится через дополнительный запрос при загрузке Windows. Потребуется файл qnxrtp.exe. Его будет нужно запустить из-под Windows и следовать указаниям программы-инсталлятора.
2. для установки через QNX4 (21 Mb) устанавливается как отдельный файл в QNX4 разделе, но при этом использует загрузку через /.altboot. Этот вариант доступен в файле qnxrtp.tar.F. Последовательность действий: cd /; /etc/install -u qnxrtp.tar.F
3. Также доступен ISO-образ для создания загрузочного компакт-диска (91 Mb), с компакт-диска доступен вариант установки на отдельный раздел. См. далее.
Вариант с образом компакт-диска уже включает в себя весь набор дополнительного софта, когда в первых двух случаях идет только базовый пакет, а дополнительный софт устанавливается через www-репозиторий.

Что мне делать с файлом qnxrtp.iso ?
Файл qnxrtp.iso - это не что иное как образ того самого компакт-диска, который можно заказать на get.qnx.com . Если у вас есть CD-Recorder, то можно записать с этого образа компакт-диск, это можно сделать из-под Windows с помощью, например, программы Adaptec Easy CD Creator Deluxe или любой другой ей аналогичной. Если же CD-Recorder"а нет, то можно распаковать qnxrtp.iso под Windows в раздел диска с помощью, например, программы WinImage (это не лучший метод, т.к. при этом потеряется главное преимущество компакт-диска - то что он загрузочный). После чего запустить оттуда setup.exe, выбрать тип установки - в файл в DOS-раздел или в отдельную партицию. В последнем случае нужно будет создать дискету, образ которой там же - instflop.dat, загрузиться с нее и следовать дальнейшим указаниям. Для установки в отдельный раздел на диске необходимо освободить под него место не менее 600 Мб.

Сколько необходимо дискового пространства для установки QNX RtP ?
Около 50 мегабайт для базовых файлов и 600 мегабайт (рекомендуется фирмой QSSL) для установки дополнительного программного обеспечения и работы.

Есть ли в QNX RtP поддержка подкачки (swap) ?
Да, если вы делаете рабочий раздел больше чем 256 Мб, файл подкачки размером в 128 Мб будет создан автоматически в /.swapfile. Его размер можно изменить в файлах конфигурации системы или с помощью утилиты swapctl. Следует здесь отметить, что подкачка осуществляется только для данных, а не для кода программ и работает только с ПО, которое написано с поддержкой подкачки. Например, компилятор GCC.

Как корректно заменить shell на BASH ?
Корректный метод - в файле /etc/passwd прописать вместо /bin/sh для требуемых пользователей /bin/bash в качестве shell по умолчанию. Естественно, придется сам бинарный файл "bash" поместить в каталог /bin.

Возможные проблемы, возникающие при этом и методы их решения:

Q1: При запуске Voyager не находит файл voyager.server. Как быть?

A1: Дело в том, что клиентская часть Voyager ищет файл voyager.server в каталоге /$SYSNAME/voyager/$PROCESSOR/bin. Избавиться от ошибки можно, вписав в /etc/profile следующие строки:

Export SYSNAME=nto
export PROCESSOR=x86

Q2: Программы, использующие screen manager curses/ncurses/slang (например Midnight Commander) отказываются работать в консоли и pterm, сообщая о некорректных установках переменной TERM и TERMCAP.

A2: Ситуацию можно поправить, добавив в /etc/profile строки:

Export TERM=qansi-m
export TERMCAP=qnx

Как пересобрать ядро системы?
Ядро системы (если быть точнее - загрузочный образ ОС Neutrino 2.1), установленной в раздел Windows, лежит по умолчанию в C:\Program Files\qnx\boot\fs\qnxbase.ifs (IFS - Image File System), в QNX 4 обычно ядро лежит в /.altboot. Чтобы создать новый образ ядра, используются сценарии с достаточно непростым языком описаний. В QNX RtP входят несколько уже готовых сценариев - qnxbase.build, qnxbasedma.build, qnxbasesmp.build. Их можно найти в /boot/build. Для создания Image File System в состав ОС включена утилита mkifs. В самом простом случае, для системы, установленной в раздел Windows, последовательность действий такова:

1. Загружаемся в QNX RtP.

2. cd /boot/build

3. mkifs qnxbase.build qnxbase.ifs (создание образа qnxbase.ifs по сценарию qnxbase.build).

4. cp qnxbase.ifs /fs/hd0-dos/program files/qnx/boot/fs (копирование нового образа ядра системы на место старого).

ВНИМАНИЕ!!! Не забудьте сохранить копию старого ядра на случай если система вдруг перестанет загружаться!
Более подробную информацию об утилите mkifs и языке сценариев можно найти в документации, прилагаемой к QNX RtP (доступна в HelpViewer).

Как изменить тип входа в QNX RtP (GUI или консоль) ?
Если вы хотите при загрузке попадать в консоль - создайте файл /etc/system/config/nophoton:

Touch /etc/system/config/nophoton

Как установить дополнительный софт из сетевого репозитория или из репозитория CD-ROM ?
В состав базового пакета QNX 6 входит программа Package Manager. С ее помощью можно просмотреть содержимое www- или CD-репозитория и установить требуемые пакеты программ. Что особенно полезно - всегда можно их потом и удалить, освободив занимаемое ими место - в Package Manager есть и такая возможность. Если требуемое ПО упаковано в файлы с расширением "qpr" (так называемые репозитории-архивы), установить их можно командой "pkg-installer -u имя_пакета.qpr" или если ссылка на такой пакет расположена в www, просто нажмите мышью на эту ссылку - Voyager автоматически запустит Package Manager, который скачает и установит пакет.

Как установить программное обеспечение, распространяющееся в виде архивов *.tar.gz или *.tar.bz2 ?
Скачиваете архив *.tar.gz (*.tgz) или *.tar.bz2, кладете в корень файловой системы и распаковываете с помощью команды соответственно tar xzvf *.tar.gz (*.tgz) и bzip2 -d *.tar.bz2; tar xvf *.tar. Включенные в пакет файлы лягут на свои места. Очень важно условие распаковки именно из корня файловой системы. При распаковке Вы можете получить сообщения об ошибках в атрибутах файлов - проигнорируйте это.

Я скачал программу и, согласно рекомендациям, установил ее, но она не запускается или пишет что что-то не найдено. Что делать?
Возможно, что программе не хватает некоторых библиотек. Перечитайте еще раз руководство по установке, прилагаемое к программному обеспечению или файлы readme, install (если таковые есть). Обычно ошибка заключается в том, что не установлены какие-либо дополнительные библиотеки. Их лучше всего брать с того же сайта разработчика, где Вы взяли программу. Если речь идет о софте с сайта qnx.org.ru, то лучше сразу установить все динамические библиотеки, выложенные у нас на сайте в разделе "Software" (или на ftp-сервере). Это касается glib-gtk, imlib, libpng, zlib, libgif, libungif, tiff, jpeg, aalib, mpeg_lib.
Еще одна распространенная ошибка бывает связана с отсутствием нужных для работы программы библиотек. Проверьте переменную окружения, отвечающую за пути к библиотекам:

# echo $LD_LIBRARY_PATH

Эта команда показывает список каталогов, в которых программы будут осуществлять поиск требуемых библиотек. Убедитесь, что каталог, в который Вы установили библиотеки, присутствует в списке. Если же его там нет, добавьте в конец файла /etc/profile следующую строку:

Export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/ваш/каталог/с/библиотеками

Иногда бывает достаточно установить из репозитория компакт-диска пакеты Neutrino Development / Runtime.

Как правильно осуществить обновление ОС QNX 6 до Patch B ?
ЗАМЕЧАНИЕ: У Вас должна быть уже установлена версия ОС QNX 6.0.0a (Patch A). Если же у Вас установлена более ранняя версия, установите версию Patch A или осуществите обновление до Patch A.

QNX 6.0.0a доступна для скачивания по адресам http://get.qnx.com , http://qnx.tucows.com , ftp://ftp.qnx.org.ru/pub/qnxrtp в варианте установки из-под Windows (qnxrtp.exe), QNX 4 (qnxrtp.tar.F) или в виде образа компакт-диска (qnxrtp.iso).

В общем случае обновление до Patch B осуществляется установкой новых пакетов через Package Manager.

Это общее обновление системы до Patch B.

Если Вы занимаетесь разработкой в ОС QNX 6, Вам потребуется обновить и инструментальные средства. Для этого придется установить пакеты-обновления средств разработки. Взять их можно здесь:

2. Установите скачанные пакеты с помощью Package Manager:

Pkg-installer -u qnx-6.0-x86.qpr (общее обновление)
pkg-installer -u qnx-dev-6.0-x86.qpr
pkg-installer -u qnx-devtools-6.0-x86.qpr (средства разработки)

3. Перезагрузите систему.

4. Пересоберите Neutrino Image (как это сделать - читайте FAQ или раздел помощи Building Embedded Systems).

5. Установите новый образ вместо старого (qnxbase.ifs для установки из-под Windows, .altboot (.boot) если у Вас система установлена на отдельном разделе или под QNX 4).

Как настроить QNX 6 для более полноценной работы на системах с малым объемом оперативной памяти (16, 24, 32 Mb) ?
Большое количество оперативной памяти используется в системе под кэш драйвера жесткого диска (до 12 Mb). Для того, чтобы уменьшить размер кэша и, таким образом, съэкономить оперативную память в системе, придется пересобрать образ Neutrino Image.

Примечание 2. Все вышесказанное справедливо для систем, имеющих контроллер жесткого диска IDE/ATAPI. В других случаях, если у вас scsi-контроллер, придется указывать в сценарии, вместо devb-eide, конкретный драйвер для вашей системы (например devb-aha8).

Примечание 3. Если Вы используете загрузку без поддержки DMA, соответственно вносите изменения в сценарий /boot/build/qnxbase.build и используйте именно его для сборки Neutrino Image.

Примечание 4. Размер дискового кэша указан в параметре строчки сценария "cache=xxx". Вы можете указать другой размер дискового кэша, например "cache=512k" или "cache=2m".

Как подключить мышь в консоли?
Запустить драйвер мыши можно следующим образом:
для PS/2 мыши:
#/usr/photon/bin/devi-hirun -Pr ps2 mousedev
для COM мыши:
#/usr/photon/bin/devi-hirun -Pr msoft fd -d/dev/ser1
Устройство мыши появится в /dev/devi/mouse0

Если драйвер работает некорректно (такое случается с NetScroll serial mouse), то вам следует обновить драйвер:
http://developers.qnx.com/Fixes/Software/devi-hirun

Нет, нет, вы меня, вероятно, не так поняли! Не для «чайников», а для чайников - чувствуете разницу? Это, конечно, некоторое художественное преувеличение - гипербола, но по сути, действительно, QNX - операционная система не только для персональных компьютеров, но и для самых разных бытовых и промышленных интеллектуальных устройств - управляющих технологическими процессами систем, станков с ЧПУ, интернет-приставок, видеовоспроизводящих агрегатов, игровых консолей, а возможно, и для холодильников, кофеварок и чайников недалёкого будущего. ОС эта во многом весьма примечательна и уникальна, но обо всём по порядку…
В далёком 1982 году (тогда, кажется, IBM PC ещё не было) в не менее далёкой от нас Канаде фирма «Quantum Software Systems, Limited» - QSSL, созданная некими Гордоном Беллом и Дэном Доджем (Gordon Bell & Dan Dodge), представила миру новейшую многозадачную, многопользовательскую операционную систему реального времени Quick UNIX, разработка которой, говорят, началась аж по заказу Министерства Обороны США. Как видите, это была UNIX-подобная операционная система, вернее, совместимая со стандартом на переносимость приложений POSIX, которому соответствуют также UNIX и популярный Linux. Очень быстро, правда, пришлось её переименовать в созвучный с предыдущим вариантом названия «QNX», так как фирма AT&T имела права на торговую марку UNIX, и ей не очень пришлось по вкусу использование этого слова в разработке малоизвестной компании. Но, впрочем, горевать по этому поводу особенно никто не стал, тем более что QNX серьёзно отличался от UNIX - даже файловую систему он имел свою собственную, несовместимую ни с FAT, ни с другими «никсами». Данное переименование затронуло, в конце концов, и название самой конторы, создавшей QNX - однажды решено было расшифровывать QSSL как QNX Software Systems, Limited, дабы не перекликаться со многими другими фирмами, активно склоняющими в своих названиях слово «Quantum». К счастью, чехарда названий мало повлияла на творческий процесс - в то время аналогов у QNX просто не было - она оказалась первой в мире системой подобного класса.
Создавалась QNX изначально для промышленного применения, управления самыми разнообразными технологическими процессами - начиная от атомной энергетики и заканчивая варкой пива и производством шоколадных батончиков. Для столь ответственных и критичных областей применения, как вы понимаете, виснущая в зависимости от погодных условий или расположения звёзд на небе Windows категорически не подходит. QNX же, в отличие от большинства ныне существующих систем, является системой реального времени, что в переводе с птичьего языка означает примерно следующее: эта ОС гарантированно среагирует на любое событие в течение определённого, также гарантированного, очень малого промежутка времени. Ряд операций QNX выполняет в 20 раз быстрее UNIX. Входные данные при этом обрабатываются почти мгновенно - ОС работает быстрее, чем они поступают, и при этом из их потока не пропадает ни один бит. Если же ОС будет обрабатывать данные медленнее, чем они приходят, то часть их может потеряться или же возникнет некая задержка, рассогласование действительных входных данных с той картиной, что имеет в данный момент оператор после их обработки системой, что, разумеется, неприемлемо в промышленных условиях - такие потери данных и задержки могут привести к многомиллиардным убыткам и даже человеческим жертвам. Достигается это в первую очередь истинной принудительной многозадачностью, используемой в QNX. То есть ни один зависший процесс не может ни при каких условиях заблокировать работу самой ОС или же как-то повлиять на другие задачи. Разумеется, QNX (здесь и далее имеется в виду её последний дистрибутив QNX RTP) является и полностью 32-разрядной системой - без этого необходимой надёжности достигнуть было бы невозможно. Следующая отличительная особенность QNX - чрезвычайно низкая требовательность к аппаратным ресурсам, что обусловлено тем, что QNX - микроядерная ОС. Ядро этой ОС, называемое Neutrino, имеет размер всего 32kb и выполняет только самые базовые функции, остальные же сервисы реализованы в динамически подключаемых модулях. Благодаря такому решению операционная система с минимальным набором дополнительных сервисов способна полноценно работать на 386 процессоре с 8 мегабайтами оперативки. Именно это обстоятельство позволяет найти ей ещё одну область применения - бытовые интеллектуальные устройства типа интернет-планшетов, банкоматов или кассовых аппаратов в магазинах.
Система получилась весьма удачной, всегда была далеко не самой дешёвой (наиболее тяжёлые дистрибутивы стоили по несколько тысяч долларов), и сегодня в работе её можно увидеть на оборудовании, используемом многими известнейшими фирмами, например, Ford, IBM, Kodak, General Motors, Du Pont, VISA, Canon, Honda, SAAB, Panasonic, Sony. Говорят, что QNX работает даже на истребителях F16 - не зря, всё-таки, МинОбороны на неё тратилось. А всего инсталляций QNX по всему миру зарегистрировано более 400000! В основном, она работает там, где имеется очень сложное и ответственное производство с серьёзными требованиями к надёжности и непрерывности управления, а также ко времени реакции в аварийных ситуациях. Наибольшее распространение она получила в добывающих отраслях, в металлургии, машиностроении, химической промышленности, энергетике, банковском деле. Небезызвестная фирма Texaco использует QNX для дистанционного управления нефте- и газодобывающим оборудованием на платформах в Мексиканском заливе. General Electric и General Dynamics - для управления холодной прокаткой стали на своих предприятиях. Что самое интересное, даже в России эта малоизвестная среди основной массы наших пользователей ОС сегодня весьма широко представлена - она управляет магистральными нефтепроводами в городе Ухта, автоматизацией станов холодной прокатки на Магнитогорском металлургическом комбинате, применяется она в банках города Набережные Челны и в лабораториях Ачинского глинозёмного комбината. И это далеко не полный список! А ведь до 1990 года эта ОС даже попадала под запрет COCOM на поставки в страны Восточной Европы как технология, которую можно использовать в военных целях. Короче говоря, ОС эта очень известна среди специалистов, чрезвычайно надёжна и давно нашла своего потребителя во многих отраслях промышленности.
Но какой интерес эта коммерческая промышленная ОС представляет для нас с вами, давно привыкшим к Windows или, на худой конец, к Linux? А дело в том, что совсем недавно QSSL предложила всем пользователям абсолютно новый и полностью бесплатный дистрибутив своей ОС, называемый «QNX Real Time Platform». Причём это не «демонстрашка», а абсолютно полноценная система, которую вы можете получить на сайте QSSL в двух вариантах - обычном EXE-файле размером 27 мегабайт, либо в виде ISO-образа загрузочного компакт-диска для самостоятельного переноса его на CD-R. Но тут уже вам придётся качать аж 270 «метров» - в основном, это дополнительные программы, которые при необходимости без труда докачиваются и по отдельности. Так что, теперь в полку альтернативных ОС для домашних компьютеров пополнение, а этот факт вниманием обойти никак нельзя - вдруг это окажется именно то, что мы так долго искали на замену ненавистных «Форточек». Давайте же взглянем на неё с точки зрения рядового пользователя бытового ПК.

Установка

Впрочем, малюсенькая «демонстрашка» тоже есть, и есть уже довольно давно, года этак с 97 - она знаменита тем, что, имея полностью графический интерфейс, несколько небольших программ и интернет-браузер Voyager, умещалась всего на одной дискете (!!!), позволяя при этом выходить в Интернет даже на самых слабых машинах. Что и говорить, такое чудо производило впечатление! То, что нам предлагается сегодня, устанавливается уже на жёсткий диск и не имеет никаких ограничений в работе. Рекомендуемый минимум аппаратных мощностей - Pentium 200 MHz и 32 Mb оперативной памяти. Установка QNX абсолютно никаких трудностей не вызывает - она осуществляется из-под Windows, как для любой обычной программы (практически так же, как и установка ещё одной альтернативной ОС - BeOS), в файл с виртуальной файловой системой QNX. Места на диске этот файл занимает совсем немного - вы сами можете выбрать его размер в довольно широких пределах - даже на 100 мегабайтах она заработает, поскольку базовые файлы ОС занимают всего около 50 «метров». Для первого же знакомства и начальных экспериментов с ОС и программами для неё вполне подойдёт файл объёмом порядка 600 мегабайт, из которых 128 Mb будет отведено под файл виртуальной памяти. Кстати, удалить QNX столь же просто - в меню «Пуск» ваших «форточек» появится предназначенный специально для этого ярлык. Удаление осуществляется вполне корректно - никаких «хвостов» от QNX в системе не остаётся за исключением зарезервированных ей копий файлов AUTOEXEC.BAT и CONFIG.SYS. После очень быстрой процедуры инсталляции, при которой в обязательном порядке надо создать учётные записи «админа» root и одного пользователя, инсталлятор модифицирует файл CONFIG.SYS, прописывая туда загрузочное меню и вызов загрузчика QNX. Естественно, если у вас стоит «Миллениум», то такой вариант с «конфигом» не пройдёт - на этот случай предусмотрено создание загрузочной дискеты.
Загрузка ОС начинается с текстовой фазы - как и положено родному брату UNIX, при этом в случае неполадок можно вызвать довольно обширное меню с дополнительными опциями. В небольшом диалоговом окне вам потребуется задать первоначальное разрешение экрана и выбрать драйвер видеокарты. Для моего оборудования предлагался только стандартный VESA-драйвер, который не хотел воспринимать частоту обновления экрана выше 60 Герц и позднее весьма заметно тормозил работу видеосистемы. Впоследствии все заданные в этом меню параметры легко изменить уже из самой ОС. Имеющиеся в наличии IDE-жёсткие диски и CD-ROM монтируются в системе также на стадии загрузки автоматически. Время загрузки заметно больше, чем у Windows9x, и после входа в систему перед нами предстаёт давно ставший стандартом для современных ОС Рабочий Стол.

Интерфейс

Собственно графическая оболочка QNX называется «Photon» - это очень компактная и крайне нетребовательная к ресурсам разработка самой QSSL, но его можно при желании сменить на устаревший GUI «QNX Window», тоже от QSSL, либо на «юниксовский» «X Window», гораздо более прожорливый, чем «Photon», но зато и более совместимый с другими приложениями. «Фотон» же не вызывает никакой антипатии - весьма симпатичные обои Рабочего Стола, справа - Панель Быстрого Запуска с иконками установленных вместе с ОС утилит, регулятором громкости и индикаторами расходования системных ресурсов. В нижней части экрана - привычная Панель Задач и кнопка «Launch» - аналог меню «Пуск» в «Винде». Изначальная расцветка элементов интерфейса радует глаз, при этом практически всё настраивается и видоизменяется - цвета, шрифты, настройки параметров монитора. Однако не надо забывать, что родная среда для всех «Юниксов» - это командная строка, из-за чего графический интерфейс мне показался всё-таки недостаточно гибким в настройке - явно отсутствуют Менеджер Устройств и многие другие служебные компоненты, так облегчающие работу в Windows, а для работы с командной строкой надо перелопатить нереальное количество документации - встроенных системных утилит-команд порядка 150 - попробуй удержать всё это в голове. Но зато есть набор простых скринсейверов - мелочь, а приятно.

Комплектация

Изначально в состав QNX включено совсем немного программ, но что же вы хотели от 27 мегабайт дистрибутива? Если вам этого окажется мало, а так, скорее всего, и будет, то ничто не мешает либо скачать целиком образ компакт-диска QNX с огромным пакетом дополнительных бесплатных утилит, либо найти всё, что нужно для работы, по отдельности в Интернете. Пока же вы имеете в своём распоряжении:

  • Editor - простенький текстовый редактор класса WordPad с минимальными возможностями форматирования текста.
  • File Manager - аналог Проводника, весьма удобный и простой. Обратите только внимание, что ваши диски надо искать в папке /FS корневого каталога. QNX позволяет работать с различными файловыми системами - POSIX, FAT-12, FAT-16, FAT-32, ISO9660, так что с DOS-разделами проблем не бывает.
  • Image Viewer - просмотровщик графики, понимает практически все более-менее распространённые графические форматы.
  • Media Player - универсальный проигрыватель для звука и видео с регулировками цвета, яркости и контраста. Поддерживаются плейлисты, встроен неплохой микшер. Проигрыватель проглотит и новейший MP3, и аудио-CD, и MPEG1, и MPEG2, вот только c MPEG4 пока - облом.
  • Voyager - достаточно современный и мощный веб-браузер, работает с JAVA, фреймами, в общем - всё при нём.
  • Vmail - очень грамотный почтовый клиент, читает ньюс-группы UseNet, поддерживает автоматическую вставку подписи в текст сообщения, но не работает пока с несколькими почтовыми ящиками.
  • Package Mgr - менеджер программ, предельно облегчающий установку и, что немаловажно - удаление приложений.

Ну и, разумеется, всякая полезная мелочёвка - калькулятор, звонилка «Dialer», менеджер печати, утилита настройки региональных установок, терминал командной строки. Для того, чтобы с этим самым терминалом разобраться, вам придётся обратиться к системе помощи - это огромнейшая и очень подробная база данных по всем командам - без досконального её изучения настроить ОС просто невозможно - это вам не Windows, где всё делается методом научного тыка.

Программы

Благодаря тому, что QNX является POSIX-совместимой ОС, большинство программ для UNIX-подобных операционных систем достаточно легко переносятся в QNX. Правда, для этого вам, скорее всего, придётся самолично компилировать исходники - полной совместимости с UNIX, всё-таки, нет. За установку же уже готовых для QNX программ отвечает Package Mgr, однако у меня он почему-то отказался воспринимать более двух программ с установочного диска, коих на нём, разумеется, в десятки раз больше. Но диск не особенно и нужен - на FTP–сервере QSSL вы найдёте практически всё из имеющегося на диске бесплатного софта - ftp://ftp.qnx.com/ . Наиболее же примечательно среди приложений для QNX следующее:

  • PhAB - инструментарий визуального программирования для QNX на основе Watcom C/C++ для Photon - очень мощный пакет разработчика, позволяющий создавать всё то, чего вам не хватает в этой системе.
  • Netscape Navigator - комментарии излишни.
  • Norton Commander - аналогично.
  • Abi Word - текстовый процессор, почти как Word, но всё-таки не стоит от него ожидать восприимчивости ко всем распространённым текстовым форматам, да и русская версия отсутствует как класс.
  • GIMP - очень известный среди «линуксоидов» графический редактор, по возможностям вплотную приближающийся к Photoshop.
  • Apache - портированный с UNIX чрезвычайно популярный HTTP–сервер. Для работы в Интернете, вообще говоря, всего хватает - это и ICQ, и IRC-клиент, и FTP, и менеджеры закачек - надо только не полениться и скачать их из Сети.
  • Real Player - популярный медиа-плеер, имеется на диске QNX. Кстати, там же вы найдёте и DVD-проигрыватель.

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

Игры

Разумеется, не стоит ожидать от промышленной ОС и каких-то изысков в области игрушек. Да и вообще - разве есть здесь достойный конкурент Windows? QNX, да и все остальные альтернативные операционные системы предназначены всё-таки, главным образом, для работы, игры для них не являются приоритетом. Максимум, что вам обычно предлагается - немного разгрузить мозги за какими-нибудь пасьянсами или тетрисами. Видимо, чтобы подчеркнуть серьёзность QNX, в изначальный состав самой ОС не включены даже самые простейшие игрушки. Если же вы рискнёте скачать себе целиком многогигабайтный образ компакт-диска с QNX, то обнаружите на нём лишь несколько классических игр, которые помогут скоротать пару часов свободного времени, либо немного отвлечься от занудной работы. Самая доступная игрушка - Columns - некое подобие Тетриса. Для игроков «мужескаго полу» вполне подойдёт великий и бессмертный Doom, ну а молодёжь, видимо, отдаст предпочтение уже Quake 3 Demo. Это то, что я нашёл в полной версии QNX на компакт-диске. Правда, в моём распоряжении был только первый вариант такого диска, образ которого в 90 мегабайт я качал несколько вечеров подряд. Сейчас же вам уже предлагается ISO-файл размером в пару сотен «мегов» - на него меня уже не хватило, но храбрецы, не пожалевшие на его закачку ценное время интернет-доступа, наверняка найдут там ещё много интересного. Ну и, конечно, опять-таки ищите любимые игры среди программ для Linux и UNIX - многие из них заработают и в QNX, тем более, что эта ОС поддерживает столь необходимый некоторым игроманам API от 3Dfx Glide. Но на последние новинки не рассчитывайте - старички Heretic, Hexen и иже с ними - вот то, что вы, скорее всего, подберёте.

Недостатки

Честно говоря, эта ОС лично меня больше раздражала в работе, чем радовала. Так, привод компакт-диска не смонтировался автоматически, модем также системой не обнаруживался, универсальные VESA-драйвера видеокарты давали максимум 60 герц и при этом заметно тормозили. Даже программы с компакт-диска устанавливаться ни за что не хотели - сплошной геморрой, короче говоря. Заработал только звук, хотя, может, мне просто не повезло. При этом меня никак не привлекала перспектива лазанья по всяческим «конфигам» и «хелпам» - ну какой рядовой пользователь будет тратить первые месяцы работы с новой ОС на её изучение и настройку? Нам подавай всё на блюдечке, работающее и настраивающееся автоматически. Если вы тоже столкнётесь с трудностями, попробуйте на платах расширения отключить режим Plug-n-Play, переставив на них соответствующим образом перемычки. Также рекомендуется в CMOS Setup установить параметр PnP OS Installed = No. Так что, если у вас железное терпение, куча свободного времени, или уже имеется опыт общения с UNIX-подобными системами, то - флаг вам в руки, посмотреть на QNX действительно стоит. При том же подходе к ОС, какой я применил, и какой наверняка будет у остальных 90% пользователей, то есть, ленивом - нечего и думать о полноценном использовании QNX, в чём я и убедился. BeOS в этом плане предстаёт гораздо более дружелюбной к неискушённому пользователю. Больше всего поразило отсутствие графического интерфейса, подобного Менеджеру Устройств из Windows - «конфиги», командная строка и ещё раз «конфиги»… Для «линуксоидов» это, конечно, нормально, но сколько таких? Три процента пользователей? Или два? Да и «линуксоиды» вряд ли променяют свой Linux на ОС с закрытым в основной своей массе кодом. Короче говоря, над интерфейсом надо работать - сложность в настройке системы отпугнёт самого опытного Windows-пользователя. А ведь альтернативные ОС, наоборот, должны демонстрировать как можно больше своих преимуществ, дабы привлечь капризных поклонников Билла Гейтса.
Возможно, гораздо более серьёзный недостаток - это недостаток драйверов. В последних версиях QNX список поддерживаемых устройств несколько расширен и продолжает постоянно пополняться разработчиками, что несомненный плюс, но очень вероятно, что часть вашего оборудования останется невостребованной. Хотя здесь, похоже, дела всё-таки получше, чем всё в той же BeOS. Широко распространённое «железо» поддерживается более-менее нормально. Извечные проблемы с русификацией в основном решены, но она в любом случае займёт у вас определённое время и потребует некоторого опыта в работе с ПК - в Сети найдёте подробнейшие инструкции со всеми нужными для русификации файлами. Да и вообще - читайте и ищите всевозможные FAQ в Интернете, наиподробнейшей документации по QNX не просто много, а очень много - в ней ответы на многие вопросы, которые наверняка возникнут - QNX не для слабонервных, без мощной документации её не освоить. Короче говоря, система интересная, перспективная, идеально соответствующая своему промышленному предназначению, но пока несколько сыровата в совместимости с железом и абсолютно не рассчитана на неподготовленного пользователя. В быту же вполне пойдёт для слабых машин - вдохнёт в них вторую жизнь. Но не для «чайников», да-с, не для «чайников»…