世界を動かす技術を、日本語で。

QNXオペレーティングシステム

2025年10月5日原文(abortretry.fail)

概要

Gordon BellとDan DodgeはUniversity of WaterlooでThoth OSを学び、QNXの開発に繋げた。 QNXは初期からリアルタイム性・高い移植性・マイクロカーネル設計を特徴とした。 QUNIXからQNXへの改名後、IBM PC向けに初のマイクロカーネルOSとしてリリース。 教育現場向けのICONプロジェクトに採用され、先進的なネットワーク機能を実装。 QNXはOS/2やUNIXとの競合を意識し、DOS互換機能なども提供した。

Gordon BellとDan Dodgeの出発点

  • Gordon BellDan Dodge は1979年、 University of Waterloo で修士課程修了
  • Thoth リアルタイムOSの開発・研究経験
    • B言語 での実装、 Eh言語、最終的に Zed言語 で書き直し
    • 高水準言語による移植性と、プロセス間通信重視の設計
  • RTOSコースの最終課題として独自のリアルタイムシステム構築

Quantum Software SystemsとQUNIXの誕生

  • 1980年3月30日、Kanataで Quantum Software Systems 設立
  • Motorola 6809 搭載のマイクロコンピュータでOS開発開始
  • IBM PC 登場後、ターゲットをPCへシフト
  • 最初のOS「 QUNIX 0.1」は8bitマイクロコンピュータ向け
    • UNIX風だが、 CP/M 的要素も多い
    • ディレクトリ構成:/cmds, /config, /sys, /user, /drivers, /util
    • manコマンド 非搭載、代わりに help 使用
    • プロセス管理コマンドは task (親子関係をfather/son/brotherで表現)
  • QUNIX 0.4.33(1982年) でIBM PC用初のハードディスク対応OSに進化
    • ただしHDDからの直接起動は不可、フロッピーからのブートが必要

QUNIXからQNXへの進化

  • QUNIXの名称が AT&T UNIX と類似しすぎたため、 1982年末QNX へ改名
  • 初期の QNXカーネル は約10,000行のCで実装
    • タスクスケジューリング、メッセージパッシング、優先度管理を担当
    • その他の機能は全てサービスとして実装し、メッセージパッシングで連携
    • ネットワーク透過型メッセージキュー により、異なる物理マシン間も容易に通信
  • 最大 250タスク/4〜16ユーザー 同時利用可能
  • 8087数値演算コプロセッサ を活用、最小96KB RAM必要
  • QNX 1.0(1983年3月) はIBM PC上でDEC VAX 11/780の約30〜50%の速度を記録
  • Cやx86アセンブリのみ対応だったが、 BASIC/Fortran/Pascal のコンパイラも開発
  • GUI対応 も計画
  • 価格: $650(1983年)、Cコンパイラ・エディタ・MS-DOSディスク読込・ネットワーク機能含む
  • QNX 1.20(1984年11月) でファイル名パターンマッチ、シェル強化、ユーザースイッチ、IBM AT対応など追加

教育分野でのQNX:ICONプロジェクト

  • Ontario教育省 が1981年に学校へのコンピュータ導入を決定
  • 多機種対応コスト回避のため、 統一機種 を選定
  • CEMCORP (Canadian Educational Microprocessor Corporation)が開発・供給
    • ICON :Intel 80186(7.16MHz)、512KB RAM、ローカルストレージ非搭載
    • QNX をネットワーク経由でブート、最大32台がLAN接続
    • ファイルサーバー経由でファイル保存・管理
    • 価格:1台$2500(学校負担$495、残りは政府補助)
  • 当初は ハイパーテキスト型教材システム を計画したが、教育省の方針でCLI+エディタに変更
  • プログラミング、マルチタスク、ネットワーク、教育ソフトに優れる
  • 生徒によるネットワーク経由の“ハック”も発生

QNXの競争と発展

  • OS/2 登場(1987年)により、QNXは競争意識を強化
  • QDOS IIRUNDOS によるDOSアプリ互換機能を追加
  • IBM PS/2への移植も実現
  • QNX v2以降、広告でもUNIXやOS/2との優位性を強調

まとめ

  • QNX はリアルタイム性、移植性、マイクロカーネル設計、ネットワーク機能、教育現場での実績を持つ
  • 競合OSとの違いを明確化しつつ、産業用・教育用の両面で発展
  • 小規模企業ながら、先進的なOS設計思想を実現

Hackerたちの意見

実験してみたい人や余ってるrPiがある人向けだね: https://carleton.ca/rcs/qnx/installing-qnx-on-raspberry-pi-4...

それとも、VMで遊びたいなら古いバージョンもあるよ: https://archive.org/details/qnxnc621_202306

1996年頃だったかな?フロッピーディスクでこれを手に入れたのを覚えてる。ネットワークスタック付きのフルRTOS GUIで、こんな小さなサイズでどうやって実現してるのか不思議だった。参考までに、Slackwareの基本インストール用にフロッピーディスクのセットを山ほど作らなきゃいけなかったのを思い出すよ。Windows 95なんて言わずもがな :)

2000年頃に手に入れた記憶がある。Linuxデスクトップをちょっといじってみた後で、すごく感動したんだ。

それ覚えてる。ウェブブラウザも入ってたよね。ここにコピーがあるよ: https://winworldpc.com/product/qnx/144mb-demo

それは見せるためのものでしたね。OSの能力を示しつつ、人々を感心させることを意図していたでしょう。2000年代初頭にはLinuxがライブCDシーンを支配するようになったけど、今でもこのデモは特別にすごいって言われてるよ。実際、フロッピーから動くX11と機能するブラウザを搭載したLinuxもあったんだ。それは本当にすごいことだよね。 https://news.ycombinator.com/item?id=28515025

QNXは本当にクールなOSだよ(速いし、エレガントだし、めちゃくちゃ信頼性高い)。QNXのダン・ドッジが今までで一番楽しめたカンファレンスの基調講演をしてくれた。基本的には、30年以上のOS開発の面白い話だった。当時のQNXの使用が減っているのを見るのは悲しいね。

このOSには面白い思い出があるよ。まず、小学校の時にICONコンピュータがあって、みんなでトラックボールをできるだけ早く回そうとしてた。壊したことがあったかは定かじゃないけど。次は、BlackBerryで働いてた時のこと。QNXのBlackBerryをBluetooth HIDデバイスとして使える機能を作ってたんだ。どんなデバイスにも接続できて、トラックパッドと物理キーボードでコンピュータをリモート操作できた。素晴らしかったよ。ノートパソコンをプロジェクターに繋いで、BlackBerryからスライドを操作できたんだ。でも、判断力に疑問のあるプロダクトマネージャーが「ビジネス目的」でBlackberry Playbook専用にロックするように言ってきて、実質的に使えなくなっちゃった(Playbookは全部廃棄物だし)。ダン・ドッジが「標準なんだからロックするべきじゃない」と主張した会議を今でもはっきり覚えてる。彼にはリスペクトしてるし、そのPMとはもう一緒に働きたくないな。

ICONの体験をエミュレーターで保存できたらいいな。ブラウザでもネットワークをエミュレートするのに十分な計算能力があると思う。

KDE Connectは、正直言ってそれに似てるけど、いくつかの点でより良い。ほんとに素晴らしいよ。

QNXはBlackBerry 10になった——今でも最高のモバイルOSだ。残念ながら、使ったのは私たちの中の十数人だけだったけど。

いい記事だね、面白い読み物だよ。一般向けに「openQNX」として公開されたNeutrino 6.4バージョンは、今でも例えばここからダウンロードできるよ: https://github.com/vocho/openqnx。こちらはそのソースのAI生成ドキュメントだよ: https://deepwiki.com/vocho/openqnx

Hacker Newsで議論の続きを見る