[#] ОСРВ QNX: Qnet — прозрачное сетевое межзадачное взаимодействие
habrabot(difrex,1) — All
2016-03-23 19:00:02


![][1]Надеюсь, что долгожданное продолжение цикла заметок об [операционной системе реального времени QNX][2]. В этот раз я бы хотел рассказать о Qnet — собственном сетевом протоколе QNX. Сразу уточню, что помимо родной сети Qnet, в QNX поддерживается стек протоколов TCP/IP, работа с которым в общем-то должна быть знакома администраторам Unix-подобных систем. Поэтому в заметке сначала немного расскажу о сетевом администраторе `io-pkt`, а потом более подробно о протоколе Qnet. По ходу повествования нас также ждут четыре лирических и одно техническое отступления.

#### Что такое Qnet?

Сеть QNX представляет собой группу соединённых между собой целевых систем, каждая из которых работает под управлением ОСРВ QNX Neutrino. В такой сети любая программа имеет доступ к любому ресурсу на любом узле (node, именно так называются отдельные компьютеры в сети). В качестве ресурса может выступать файл, устройство или процесс (в том числе обеспечивается и запуск процессов на другом узле). При этом целевые системы (те самые узлы) могут представлять собой компьютеры различных архитектур — x86, ARM, MIPS и PowerPC (текущая реализация Qnet работает в том числе и в cross-endian среде). Но словно этого мало, любое POSIX-приложение, портированное в QNX (для переноса зачастую требуется только пересборка) без всякой доработки будет обладать перечисленными выше способностями работы в сети Qnet. Заинтригованы, как это получается? [Ну, допустим, заинтригованы.][3]

[1]: https://habrastorage.org/files/a84/b40/c31/a84b40c31d5b4bfb8c91196b40ee6a35.jpg
[2]: http://habrahabr.ru/blogs/nix/124656/
[3]: https://habrahabr.ru/post/279679/#habracut