QNX
QNXカーネルには、CPUスケジューリング、プロセス間通信、割り込み処理、タイマーだけが含まれる。その他はユーザープロセスとして実装され、例えばプロセス生成、メモリ管理を管轄する proc という特殊なプロセスはマイクロカーネルと協調して動作する。これを可能にしているのは、サブルーチン呼び出し型のプロセス間通信と、ブートローダがカーネルだけでなく複数のユーザープログラムや共有ライブラリを含めたイメージをロードできる機能があるからである。カーネル内にはデバイスドライバが存在しない。通信プロトコルスタックはNetBSDのコードをベースとしている。独自開発のドライバ群、古い io-net manager サーバ向けに書かれたドライバ群、NetBSDから移植したドライバ群をサポートしている。
QNXのプロセス間通信は、プロセスからプロセスにメッセージを送り、応答を待つ。メッセージはカーネルが送信側のアドレス空間から受信側プロセスのアドレス空間にコピーする。受信プロセスがメッセージを待っていた場合、同時に受信側プロセスにCPUの制御が渡され、この際にスケジューラを経由しない。従って、メッセージを送信して返事を待つまで、全く無駄な点がない。
1980年、ウォータールー大学の学生だったGordon BellとDan Dodgeは一般計算機科学課程でオペレーティングシステム設計を学び、その中で基本的なリアルタイムカーネルを作成した。彼らは、このようなシステムに需要があると考え、同年 Quantum Software Systems 社を設立した。1982年、最初のQNXを8088マイクロプロセッサ向けにリリースした。
最初にQNXが広く使われたのは組み込みシステムではなく、オンタリオ州の教育システムに採用された Unisys ICON のOSとしてである。当時としては、44KバイトのOSは組み込みシステムには大きすぎたため、もっと大きなシステムで主に使われたのである。このシステムは信頼性が高いと評判が良く、いくつかの工業アプリケーションに採用されるようになっていった。
1980年代末、Quantum社は市場がPOSIXモデルに素早く移行しつつあるのを見て、カーネルの互換性を高めるための書き換えを決定した。そしてリリースされたのが QNX 4 である。このころインターンとして働いていた Patrick Hayden と正社員だった Robin Burgener が新たなコンセプトのウィンドウシステムを開発(アメリカ合衆国特許第 5,745,759号)。
QNX(キューエヌエックス、またはキューニックスと発音)は商用のリアルタイムUnix系オペレーティングシステムであり、POSIXとPOSIX 1003.1bに対応している。主に組み込みシステム向けに販売されている。元々はカナダの企業QNXソフトウェアシステムズが開発していたが、同社は後にリサーチ・イン・モーション(現ブラックベリー)が取得した。