| 開発者 | BlackBerry (旧 QNX ソフトウェア システム) |
|---|---|
| OSファミリー | Unixライク |
| 作業状態 | 現在 |
| ソースモデル | クローズドソース |
| 初回リリース | 1982年 |
| 最新リリース | 8.0 / 2023年12月 |
| マーケティングターゲット | 組み込みシステム |
| パッケージマネージャー | NetBSDプロジェクトのPkgsrcフレームワークを使用可能 |
| プラットフォーム | 現在: x86-64、ARM32、ARM64 旧: MIPS、PowerPC、SH-4、StrongARM、XScale |
| カーネルタイプ | RTOS (マイクロカーネル) |
| ユーザーランド | POSIX |
| ライセンス | 独自 |
| 公式サイト | ブラックベリー |
QNX ( / ˌ k juː ˌ ɛ n ˈ ɛ k s / または/ ˈ k juː n ɪ k s / ) は、主に組み込みシステム市場を対象とした商用のUnix ライクな リアルタイム オペレーティング システムです。
この製品はもともと、1980 年 3 月 30 日に設立され、後に QNX Software Systems に改名された カナダの企業 Quantum Software Systemsによって 1980 年代初頭に開発されました。
2022年現在、自動車、[1]医療機器、プログラムロジックコントローラー、自動化製造、電車など、 [アップデート]さまざまな機器に使用されています。
歴史
1980年にウォータールー大学の学生だったゴードン・ベルとダン・ドッジは、リアルタイムオペレーティングシステムのコースを受講し、基本的なリアルタイムマイクロカーネルとユーザープログラムを構築しました。2人はそのようなシステムの商業的ニーズがあると確信し、その年にオンタリオ州カナタのハイテク計画都市に移り、クォンタムソフトウェアシステムズを設立しました。1982年に、QUNIXの最初のバージョンがIntel 8088 CPU用にリリースされました。1984年に、クォンタムソフトウェアシステムズは、商標侵害の申し立てを回避するために、QUNIXをQNXに改名しました。
QNX リアルタイム OS (RTOS) が最初に広く使われたのは、組み込み以外の分野で、オンタリオ教育システム独自のコンピュータ設計であるUnisys ICONのオペレーティング システムとして採用されたときでした。44k カーネルは当時のワンチップ コンピュータに収まらないほど大きかったため、QNX は長年にわたって主に大規模なプロジェクトで使用されていました。このシステムは信頼性で定評があり[要出典]、多くの産業用アプリケーションで機械を動かすために使用されるようになりました。
1980年代後半、Quantumは市場が急速にPortable Operating System Interface ( POSIX )モデルへと移行していることに気づき、カーネルを低レベルでより互換性が高くなるように書き直すことを決定しました。その結果がQNX 4です。この頃、Patrick Haydenはインターンとして働いていたときに、Robin Burgener (当時は正社員)とともに新しいウィンドウシステムを開発しました。この特許取得済みの[2]コンセプトは、QNX Photon microGUIという名前の埋め込み可能なグラフィカルユーザーインターフェイス(GUI)に発展しました。QNXはX Window Systemのバージョンも提供していました。
QNXは、OSの性能と比較的小型なサイズを実証するために、1990年代後半に、POSIX準拠のQNX 4 OS、完全なグラフィカルユーザーインターフェイス、グラフィカルテキストエディタ、TCP/IPネットワーク、Webブラウザ、Webサーバを含むデモイメージをリリースしました。これらはすべて、 386 PC用の起動可能な1.44 MB フロッピーディスクに収まりました。 [3] [4]
1990 年代の終わり頃、当時 QNX Software Systems という名前だったこの会社は、対称型マルチプロセッシング(SMP) に対応し、マイクロカーネル アーキテクチャを維持しながら、現在のすべてのPOSIX アプリケーション プログラミング インターフェイス(API) と今後予想されるすべての新しい POSIX API をサポートするようにゼロから設計された QNX の新バージョンの開発に着手しました。その結果、2001 年にリリースされた QNX Neutrino が誕生しました。
QNX Software Systems は、Neutrino カーネルとともに、Eclipse (統合開発環境) コンソーシアムの創設メンバーになりました。同社は 2002 年に、Eclipse ワークベンチにパッケージ化された Eclipseプラグインスイートをリリースし、QNX Momentics Tool Suite と名付けました。
2004年、同社はハーマン・インターナショナル・インダストリーズに売却されたことを発表しました。この買収以前、QNXソフトウェアは自動車業界でテレマティクスシステムにすでに広く使用されていました。ハーマンによる買収以来、QNXソフトウェアは200を超えるさまざまな自動車メーカーとモデル、テレマティクスシステム、インフォテインメントおよびナビゲーションユニットに設計されています。 [要出典] QNX CARアプリケーションプラットフォームは、2011年半ばの時点で2000万台を超える車両で実行されていました。[5]同社はそれ以来、QNX Aviageマルチメディアスイート、QNX Aviageアコースティック処理スイート、QNX HMIスイートなど、 いくつかのミドルウェア製品をリリースしています。
シスコシステムズのIOS-XR(超高可用性IOS、2004年導入)[6] [7]とIOSソフトウェアモジュラリティ(2006年導入)[8]のマイクロカーネルはQNXをベースとしていました。IOSソフトウェアモジュラリティは普及せず、Catalyst 6500向けの小規模な実行に限定されていましたが、IOS XRはリリース6.xからLinuxに移行しました。
2007年9月、QNXソフトウェアシステムズはソースコードの一部を公開すると発表した。[9]
2010年4月9日、リサーチ・イン・モーション(後にブラックベリー・リミテッドに改名)はハーマン・インターナショナル・インダストリーズからQNXソフトウェア・システムズを買収すると発表しました。[10]同日、QNXのソースコードへのアクセスは一般および愛好家から制限されました。[11]
2010年9月、同社はタブレットコンピュータ「BlackBerry PlayBook」と、そのタブレット上で動作するQNXベースの新しいオペレーティングシステム「BlackBerry Tablet OS」を発表した。 [12]
2011年10月18日、リサーチ・イン・モーションは「BBX」[13]を発表し、これは後に2011年12月にBlackBerry 10に改名されました。 [14] Blackberry 10デバイスは、タッチデバイス用のBlackBerry PlayBook QNXベースのオペレーティングシステムをベースに構築されていますが、 QtベースのCascades Native User-Interfaceフレームワークを使用してスマートフォン用のユーザーインターフェイスを採用しています。
ジュネーブモーターショーで、Appleは、互換性のある車両のヘッドユニットにiOSのようなユーザーインターフェイスを提供するCarPlayをデモしました。自動車メーカーによって構成されると、QNXはディスプレイと一部の機能をApple CarPlayデバイスに渡すようにプログラムできます。[15] [16]
2014年12月11日、フォード・モーター・カンパニーはMicrosoft AutoをQNXに置き換えると発表した。[1]
2017年1月、QNXはIntelおよびARMの32ビットおよび64ビットプラットフォームとC++14のサポートを備えたSDP 7.0のリリースを発表しました。これは2017年3月にリリースされました。[17]
2023年12月、QNXは、最新のIntelおよびARM [v8およびv9] 64ビットプラットフォーム、GCC12ベースのツールチェーン、Visual Studio Code用のQNXツールキットをサポートする次世代マイクロカーネルを搭載したQNX SDP 8.0をリリースしました。[18]
2024年7月17日、QNXはQNXコンテナをリリースし、QNXベースのデバイス上でコンテナ技術を展開、実行、管理するための標準ベースの環境を提供しました。[19]
2024年9月14日、QNX Filesystem for Safety(QFS)が発表されました。QFSはPOSIX準拠、ISO 26262認定の整合性チェックファイルシステムであり、OEMやその他の組み込みソフトウェアサプライヤーに、安全性が重要なシステムを構築する際に追加の検証レイヤーを提供します。[20]
2025年1月2日、ブラックベリーはQNXブランドの戦略的リニューアルを発表しました。以前は「BlackBerry IoT」という名前でしたが、部門名を「QNX」に変更し、QNXブランドをリニューアルするという決定は、自動車業界と組み込み業界における知名度を高め、リーダーシップを強化するためのより広範な戦略の一環です。[21]
2025年1月6日、QNX、Vector、TTTech Autoは、ソフトウェア統合のための基盤となる車両ソフトウェアプラットフォームを共同で開発し、販売するための複数年にわたる世界的な取り組みを発表しました。この車両ソフトウェアプラットフォームは、事前に統合され、軽量で、自動車業界の最高の機能安全(ISO 26262 ASIL D)およびセキュリティ(ISO 21434)規格の認定を受けています。[22]
QNXはCES 2025で、自動車メーカーがクラウド内でソフトウェアを構築、テスト、改良しやすくし、ソフトウェア定義車両(SDV)の開発を加速するためにマイクロソフトと提携すると発表しました。QNXは、この提携の一環として、ソフトウェア開発プラットフォーム(SDP)8.0がMicrosoft Azureに導入されることを確認しました。[23]
QNXはCES 2025で、デジタルコックピットの開発を加速するために設計された業界初の自動車ソフトウェアソリューションであるQNX Cabinを発表しました。QNX Cabinは、安全性認定を受けたQNXオペレーティングシステム(OS)上で実行されるセーフティクリティカルな機能(先進運転支援システムなど)と、Android AutomotiveやLinuxなどのゲストオペレーティングシステムを介して提供される消費者向けアプリケーションを融合し、混合クリティカリティ環境での開発の問題を解決することを目的としています。[24]
QNXはCES 2025でQNX Everywhereイニシアチブの詳細も発表した。学生、学校、研究機関、愛好家にQNXソフトウェア開発プラットフォーム(SDP)8.0への無料アクセスを提供することで、QNXの世界的な開発者コミュニティを育成し成長させることを目的としたQNX Everywhereには、無料のリソースとオンデマンドトレーニングも含まれている。[25]
テクノロジー
マイクロカーネルベースの OSであるQNX は、オペレーティング システム カーネルの大部分を、リソース マネージャーと呼ばれる多数の小さなタスクの形で実行するというアイデアに基づいています。これは、オペレーティング システム カーネルが、特別な機能を持つ膨大な数のパーツで構成された 1 つの非常に大きなプログラムである従来のモノリシック カーネルとは異なります。QNX の場合、マイクロカーネルを使用することで、ユーザー (開発者) は OS を変更することなく、不要な機能をオフにすることができます。代わりに、そのようなサービスは単に実行されなくなります。
QNX カーネルprocnto(QNX Neutrino ('nto') プロセス ('proc') 自体のバイナリ実行可能プログラムの名前でもある) には、CPU スケジューリング、プロセス間通信、割り込みリダイレクト、およびタイマーのみが含まれています。その他すべてはユーザープロセスとして実行されます。これには、マイクロカーネルと連携してプロセス作成とメモリ管理をproc実行する特別なプロセスが含まれます。これは、サブルーチン呼び出しタイプのプロセス間通信と、カーネルと任意のユーザープログラムと共有ライブラリのセットを含むイメージをロードできるブートローダーという 2 つの主要なメカニズムによって可能になります。カーネルにはデバイスドライバーはありません。ネットワークスタックはNetBSDコードに基づいています。[26] QNX は、独自のネイティブデバイスドライバーのサポートに加えて、従来のio-net マネージャーサーバーと NetBSD から移植されたネットワークドライバーをサポートしています。[27]
QNX のプロセス間通信は、あるプロセスから別のプロセスにメッセージを送信し、応答を待つことから成ります。これは と呼ばれる単一の操作ですMsgSend。メッセージはカーネルによって[引用が必要] 、送信プロセスのアドレス空間から受信プロセスのアドレス空間にコピーされます。受信プロセスがメッセージを待っている場合、CPU の制御は CPU スケジューラを経由せずに同時に転送されます。したがって、別のプロセスにメッセージを送信し、応答を待っても、CPU の「順番を失う」ことはありません。メッセージ パッシングと CPU スケジューリングのこの緊密な統合は、QNX メッセージ パッシングを幅広く使用できるようにするための重要なメカニズムの 1 つです。ほとんどのUnixおよびLinux のプロセス間通信メカニズムにはこの緊密な統合がありませんが、Linux 用の QNX タイプのメッセージングのユーザー空間実装は存在します。この微妙な問題の取り扱いを誤ることが、 Machの初期バージョンなどの他のマイクロカーネル システムのパフォーマンスが期待外れになる主な理由です。[引用が必要]受信プロセスは、同じ物理マシン上にある必要はありません。
すべての I/O 操作、ファイル システム操作、およびネットワーク操作は、このメカニズムを介して動作するように設計されており、転送されたデータはメッセージ パッシング中にコピーされました。QNX の以降のバージョンでは、パフォーマンス上の理由から、個別のプロセスの数を減らし、ネットワーク スタックとその他の機能ブロックを単一のアプリケーションに統合しています。
メッセージ処理はスレッドの優先度によって優先順位が付けられます。I/O 要求はメッセージ パッシングを使用して実行されるため、優先度の高いスレッドは優先度の低いスレッドよりも先に I/O サービスを受け取ります。これは、ハード リアルタイムシステムに不可欠な機能です。
ブートローダは、最小限のマイクロカーネル システムのもう 1 つの重要なコンポーネントです。ユーザー プログラムをブート イメージに組み込むことができるため、起動に必要なデバイス ドライバーとサポート ライブラリのセットはカーネル内に存在する必要はなく、またカーネル内にも存在しません。プログラムの読み込みなどの機能もカーネル内にはなく、ブート イメージの一部として読み込まれる共有ユーザー空間ライブラリ内にあります。ディスクレス組み込みシステムで使用されるROMにブート イメージ全体を置くことも可能です。
Neutrino は、対称型マルチプロセッシングとプロセッサ アフィニティ(QNX 用語では境界型マルチプロセッシング (BMP) と呼ばれる) をサポートします。BMP は、キャッシュ ヒットを改善し、SMP 非対応のアプリケーションをマルチプロセッサ コンピュータに移行しやすくするために使用されます。
Neutrino は、厳密な優先度プリエンプティブ スケジューリングとアダプティブ パーティション スケジューリング(APS) をサポートしています。APS は、他のスレッドの優先度が高くても、選択したスレッド グループに最小限の CPU パーセンテージを保証します。アダプティブ パーティション スケジューラは、システムの負荷が低い場合でも、厳密な優先度プリエンプティブのままです。また、システムが過負荷の場合でも、 選択した重要なスレッド セットを厳密にリアルタイムで実行するように構成することもできます。
QNXオペレーティングシステムには、「Voyager」と呼ばれるウェブブラウザも含まれていました。[28]
マイクロカーネルアーキテクチャのため、 QNX は分散オペレーティング システムでもあります。Dan Dodgeと Peter van der Veen は、米国特許 6,697,876 を保有しています。これは、商業的には Transparent Distributed Processing として知られる QNX オペレーティング システムの分散処理機能に基づく分散カーネル オペレーティング システムです。これにより、別々のデバイス上の QNX カーネルは、ローカル サービスへのアクセスに使用されるのと同じ通信メカニズムを使用して、相互のシステム サービスにアクセスできます。[非プライマリ ソースが必要]
リリース
用途
BlackBerry が設計した BlackBerry PlayBook タブレット コンピューターは、主要なオペレーティング システムとして QNX のバージョンを使用しています。BlackBerry 10 オペレーティングシステムもQNXに基づいています。
QNXは車載インフォテインメントシステムにも使用されており、多くの大手自動車メーカーが組み込みQNXアーキテクチャを搭載したモデルを提供している。これはwolfSSLなどの人気のSSL/TLSライブラリでサポートされている。[32]
QNXは2010年に「Safe Kernel 1.0」を発表して以来、機能安全認証を受けたRTOSを必要とする自動車プロジェクト向けの自動運転やADASシステムに計画され、使用されてきました。QNXはQNX OS for Safety製品でこれを提供しています。[33]
QNX Neutrino (2001) は、数多くのプラットフォームに移植されており、現在では組み込み市場で使用されているほぼすべての最新の中央処理装置(CPU) ファミリで実行できます。これには、 PowerPC、x86、MIPS、SH-4、および密接に関連するARM、StrongARM、XScaleのグループが含まれます。
2023年6月26日現在、QNXソフトウェアはBMW、ボッシュ、コンチネンタル、東風汽車、吉利、フォード、ホンダ、メルセデス・ベンツ、トヨタ、フォルクスワーゲン、ボルボなど、ほとんどの大手OEMおよびTier 1を含む世界中で2億3,500万台以上の車両に組み込まれています。[34]
ライセンス
QNXは非商用および学術目的のユーザー向けにライセンスを提供しています。[35] 2024年1月、BlackBerryはQNXを愛好家にとってより利用しやすいものにするためにQNX Everywhereを導入しました。QNX Everywhereは2024年初頭に一般公開されました。[36]
コミュニティ
- OpenQNXは独立して設立され運営されているQNXコミュニティポータルです。IRCチャンネルとニュースグループへのアクセスはWeb経由で利用できます。このサイトの開発者は多様な業界を代表しています。[37]
- Foundry27は同社が設立したウェブベースのQNXコミュニティである。QNX Neutrino開発のハブとして機能し、開発者はここで登録し、ライセンスを選択し、RTOSのソースコードと関連ツールキットを入手できる。[38]
QNX ボード サポート パッケージ
QNX標準サポートは、QNXソフトウェアセンターで利用可能なBSPとして以下にリストされているBSPで利用可能です。他のBSPについては、以下に示す「BSPサプライヤー」または「ボードベンダー」から代替形式のサポート(カスタムサポートプランなど)が利用可能または必要になる場合があります。[39]
BlackBerry QNX パートナー
BlackBerry QNXは、補完的な技術を提供するためにパートナー組織のネットワークと連携してきました。これらの重要な関係により、世界で最も重要な組み込みシステムの基盤となるソフトウェア、ミドルウェア、およびサービスを提供することができます。[40]
参照
- オペレーティングシステムの比較
- Androidオート
- Android オートモーティブ
- 自動車グレードLinux
- カープレイ
- フォードシンク
- ハーモニーOS ネクスト
- オープンハーモニー
- Windows Embedded オートモーティブ
参考文献
- ^ ab Burns, Matt (2014 年 12 月 11 日)。「Ford、最新の車載技術プラットフォームで Microsoft を廃止し QNX を採用」。TechCrunch。2015年2月 26 日閲覧。
- ^ US5745759
- ^ Hildebrand, Dan (1997 年 6 月 6 日). 「Think Small. (The 1.44M Web Challenge)」. marc.info .
- ^ “How we did it!”. 1999年11月28日時点のオリジナルよりアーカイブ。2020年8月3日閲覧。
- ^ QNX CAR http://www.qnx.com/products/qnxcar/
- ^ 「QNX が大規模にスケーラブルなルーティング システム向けに極めて信頼性の高いマイクロカーネルを提供」 2004 年 8 月 17 日. 2012 年 3 月 16 日閲覧。
- ^ 「CRS-1 および IOS XR の運用ベスト プラクティス」。Cisco。
- ^ Brad Reese- BradReese.Com (2006-09-26). 「IOS の背後にある OS はどれか?」。2011-12-22 にオリジナルからアーカイブ。2012-03-16に閲覧。
- ^ Leroux, Paul (2007 年 9 月 12 日). 「QNX が Neutrino ソースコードを公開し、開発プロセスを公開」www.qnx.com。
- ^ 「RIM、QNX Software を買収」。The Globe and Mail。トロント。The Canadian Press。2010年 4 月 9 日。2010年 4 月 9 日閲覧。
- ^ 「foundry27: Wiki ページを表示: UpdatedQNXSourceAccessPolicyFAQ」。community.qnx.com。
- ^ 「RIM が BlackBerry PlayBook を発表」(公式プレスリリース)。2010 年 9 月 27 日。
- ^ Molen, Brad (2011 年 10 月 18 日)。「Research in Motion が BBX を発表、『BlackBerry と QNX の長所を融合』」Engadget。2013年1 月 20 日閲覧。
- ^ Arthur, Charles (2011-12-07). 「BlackBerryメーカーRIM、新ソフトウェアでBBXの名称を廃止せざるを得ず」. Guardian . ロンドン. 2013-01-20閲覧。
- ^ Hartley, Matt (2014年3月3日). 「Apple Inc CarPlay、GM、BMW、Fordなどの車のダッシュボードにiPhoneの機能を提供」. Financial Post . 2014年3月28日閲覧。
- ^ 「BlackBerryのQNX:なぜApple、Google、自動車業界にとって価値があるのか」ZDNet 。 2014年10月27日閲覧。
- ^ 「BlackBerry QNX、自動運転およびコネクテッドカー向けの最も先進的で安全な組み込みソフトウェア プラットフォームを発表」2017 年 1 月 4 日。
- ^ 「QNX® ソフトウェア開発プラットフォーム (SDP) 8.0」。2023年12月11日。
- ^ 「QNX、信頼できるソフトウェア開発プラットフォーム ポートフォリオに QNX コンテナーを追加」www.blackberry.com 。2024 年 9 月 23 日閲覧。
- ^ 「BlackBerry QNX、安全性認定済みの新しいファイルシステムで自動車用ソフトウェアポートフォリオを強化」www.blackberry.com 。 2024年9月23日閲覧。
- ^ 「BlackBerry、自動車および一般組み込み産業におけるリーダーシップを強化するため、QNXブランドの戦略的リニューアルを発表」www.blackberry.com 。 2025年1月2日閲覧。
- ^ 「QNX、Vector、TTTech Autoが協力して自動車のイノベーションを加速させる基礎的な車両ソフトウェアプラットフォームを開発」www.blackberry.com 。 2025年1月6日閲覧。
- ^ 「QNX、Microsoft と連携し、ソフトウェア定義車両のイノベーションを推進」www.blackberry.com . 2025 年 1 月 6 日閲覧。
- ^ 「QNX、デジタルコックピット開発を加速する業界初の自動車ソフトウェアソリューションを発表」www.blackberry.com 。 2025年1月6日閲覧。
- ^ 「QNX、あらゆる場所で組み込みソフトウェアのイノベーションを促進するために開発者サポートを倍増」www.blackberry.com 。 2025年1月6日閲覧。
- ^ 「コア ネットワーキング 6.4: Neutrino の次世代ネットワーキング スタックと Foundry27」。
- ^ 「foundry27: Wiki ページを表示: Drivers_wiki_page」. community.qnx.com .
- ^ “QNX Neutrino RTOS – 組み込み OS | BlackBerry QNX | BlackBerry QNX”.
- ^ Lévénez, Éric (2011 年 5 月 1 日). 「UNIX の歴史」. levenez.com . 2011 年5 月 18 日閲覧。
- ^ 「QNX® Neutrino® Core OS 6.3.2 リリース ノート」。 2006 年 8 月 16 日。
- ^ 「QNX® ソフトウェア開発プラットフォーム (SDP) 8.0: リリースノート」。2023 年 12 月 11 日。
- ^ 「wolfSSL Build Sizes for the QNX Embedded RTOS」. wolfSSL . 2010年9月17日. 2019年2月13日閲覧。
- ^ 「安全のためのQNX OS」。
- ^ 「BlackBerryソフトウェアは現在、2億3,500万台以上の車両に組み込まれている」www.blackberry.com 。 2024年9月23日閲覧。
- ^ https://www.blackberry.com/us/en/company/newsroom/press-releases/2024/blackberry-launches-qnx-everywhere-to-address-global-embedded-software-developer-skills-shortage
- ^ https://www.qnx.com/products/everywhere/
- ^ OpenQNXコミュニティポータル: 発表
- ^ QNX プレスリリース: Foundry27
- ^ 「QNX ボード サポート パッケージ」。2024 年 11 月 7 日。
- ^ 「Blackberry QNX Partners」. 2024年11月12日.
さらに読む
- Dan Hildebrand (1992)。「QNX のアーキテクチャ概要」。マイクロカーネルとその他のカーネル アーキテクチャに関するワークショップの議事録: 113– 126。ISBN 1-880446-42-1。
外部リンク
- 公式サイト
- QNX携帯電話向け開発
- ファウンドリー27
- QNX ユーザー コミュニティ
- オープンソースアプリケーション
- GUIdebook > GUI > QNX
- カナダの原子力発電所で使用されているQNX
- QNX デモ フロッピー ディスク
