●保証されたOS
QNX Momenticsはカナダ QNX Software Systems 社が責任を持って管理している保証されたOSです。カーネル解析は必要ありません。不特定多数の開発者が勝手に開発を行う事もありません
●多様なターゲットに対応
x86からスタートしたQNX Momentics(*1)。現在は多様なターゲットに対応しています。
また、各CPUの代表的な25以上のボードに対する17のBSPを準備し(*2)、ほんのわずかな時間でQNX Momenticsをターゲット上で動作させる事が可能です。
(*1:Momentics はPEにのみ搭載されている開発環境です。詳しくはQNXの開発スイートの項をご覧ください
*2:BSPは別途購入する必要があります。詳細はこちら(www.qnx.com/products/bsps/))
●統合開発環境搭載
QNX Momenticsの開発スイートはEcliplseフレームワークを基盤に構築されたパワフルかつシンプルでフレキシブルな開発ツールです。また、自分にあった言語(C,C++,組込みC++,Java)と開発ホスト(Windows,Solaris,QNX
Neutrino セルフホスト)を自由に組み合わせる事が可能です。
●豊富なミドルウェア 標準で多数のミドルウェアを装備しています。
-TCP/IPスタック
-各種ネットワークドライバ
-GUI
-各種グラフィックドライバ
-POSIXファイルシステム
-DOSファイルシステム
-フラッシュファイルシステム
-USBホストスタック、及びドライバ
-オーディオドライバ
-JAVA
-Webサーバー
等、他社製のミドルウェアをほとんど購入する必要がありません。これらでOSメーカと各ミドルウェアメーカの窓口が1つになり、各メーカごとに質問、手続き等を行う手間を省くことができ、不明確な回答や不要な情報のやり取りのストレスを軽減することができます。
詳細はこちら(www.qnx.co.jp/products)
●豊富なライブラリ群 QNX Momenticsには以下の豊富なライブラリが含まれています。
-ANSI C
-POSIX
-Dinkum フル C++
-Dinkum Embedded C++(STLつき)
-GNU C++ (x86 のみ)
-圧縮
-ネットワーキング
-グラフィックス
-ウィジェット
-XML
●マルチプロセス、マルチスレッドに対応
マルチプロセス、マルチスレッドに対応していることで、様々なシチュエーションに対応する事が可能となり、システム設計の自由度が上がり、安全で高速なシステムを実現する事が出来ます。
●安全なマイクロカーネル
最近では多くのメーカでマイクロカーネル方式を採用する様になってきていますが、QNXでは10年以上前から、マイクロカーネル方式を採用しています。QNXのカーネルはドライバ群もネットワークスタックも、GUIマネージャも全てが別プロセスで動いています。そのため、ドライバで問題が起こってもシステム全体には、なにも影響が出ませんし、システムを稼動したままで、ドライバだけをバージョンアップすることも可能です。
●広い使用用途
QNXはカーネル、ドライバ、ネットワークスタック、GUIマネージャ等が全て個別に構成されいます。そのため、インテリジェントボード内にROMから起動するような、小さなシステムから、ナビゲーションシステムの様にGUIやTCP/IPスタック、JAVA等を含んだシステムも、それぞれのアプリケーションをインストールして、起動するだけで簡単に構成することが可能です。
●リーズナブルな開発キット
SE版、PE版共に、組み込み向けのRTOSの開発キットの中では、非常に安価な価格で、ご提供させて頂いています。
また、開発キットを一つ購入して頂くと、複数のターゲットCPU(x86、SH4、ARM、PowerPC、mips、xScale等)向けの開発環境が同梱されています。開発キットのライセンスは、プロジェクトの制限が無く、同時に複数のプロジェクトの開発を行うことが出来ますので、異なるターゲットCPU向けのプロジェクトを開発される際に、開発キットを新たに購入する必要がありません。
●ドライバの開発が不要
一般にRTOSは、ハードウェアへのアクセスを行う際に、必ずドライバを作成する必要があります。ですが、ドライバを作成するためにはメーカ毎に独自のドライバ作成ルールがあり、この独自ルールを身につけるために多くの開発工数を必要とします。
QNXでは、ハードウェアへのアクセスをする際に必ずしもドライバを作成する必要はありません。一般的なアプリケーションに特権を与えるだけで、簡単にハードウェアにアクセスすることができます。特別にドライバの勉強をする必要もなく、大幅な開発工数の削減を可能にします。
●移植性の高いシステム構築が可能 QNXでは、linuxに良く似た独自のドライバを作成することも可能です。
ドライバを作成することで他のPOSIX系RTOSと同様に、/devディレクトリに作成されたデバイスファイルに対して、open(),read(),write(),close(),ioctl()等でハードウェアへのアクセスを行うことが可能となり、移植性の非常に高いアプリケーション開発ができます。
●リモートメンテナンス機能
QNXには、標準でリモートメンテナンスの機能が装備されています。簡単な設定を行うだけで、遠隔地から、現在画面に表示されている状況確認や、遠隔地のマシンのキーボード/マウス操作を行うことも出来ます。顧客への取り扱い説明も、遠隔地の顧客に説明をしながら、顧客の目の前にあるQNXマシンを操作し、説明することが可能なので、わざわざ技術者を派遣する必要がありません。
●POSIX準拠
QNXは、POSIXに準拠したAPIを提供しています。
POSIXとはUNIX互換システムにおけるインターフェイスのことを指します。それに準拠しているということは、UNIX互換システムにおける互換性が高いということを意味し、移植性が高いということを意味します。そのため、他のPOSIX準拠APIの実装を謳っているオペレーティングシステムからRTOSへの、また逆にそのオペレーティングシステムへの移植を容易にしてくれることでしょう。
これらのPOSIX準拠APIは追加機能――いわゆる、アドオン機能――の形で提供されておりません。RTOSの核となるマイクロカーネル自体、最初からPOSIXのスレッドを含んだリアルタイム機能をサポートするように設計されています。したがって、POSIXの互換性は非常に高いものとなっています。
●独自の組込みGUI(QNX Photon MicroGUI)
QNXには、独自のウィンドウシステムであるQNX Photon MicroGUIが搭載されています。これはサイズも小さく動作も軽快です。また、必要な機能に応じて調整(カスタマイズ)をすることが可能であるため、システム要件が非常に限られている組込み機器にも適しています。
カスタマイズ可能な概観、拡張可能なマルチメディアフレームワーク、ハードウエアに依存しないマルチレイヤ表示、などの特長があります。さらに、OPENGLによる3D描画のサポート、スケーラブルフォントとユニコードサポート及び多国言語のサポートも含まれています。
ウィンドウアプリケーションの開発に関しても、Photon Application BUilder(以下:PhAB)が付属しています。PhABは、QNX
Photon microGUIのための設計・開発ツールです。簡単な操作でアプリケーションを作成することができます。極端なケースの話ではありますが、テスト用などの簡単アプリケーションであれば、PhABを利用することで一行のコードの記述することなく作成し、動作させることが可能です。PhABは独立単体としても動作させることは可能ですが、統合開発環境(IDE)と統合されていますので、統合開発環境下からウィザードを使用して新規PhABプロジェクトを作成することが可能です。
●Qnet
QnetはQNX RTOS独自のネットワークプロトコルです。このQnetプロトコルを使用することにより、独自のQNXネットワークを構築することが可能です。Qnetは透過的なネットワーク拡張を実現するために実装されており、Qnetを使用することでQNX RTOSの独自機能であるメッセージ通信機能(メッセージパッシングまたは、IPCと呼ばれる)がQnetを使用したネットワーク間で実現することが可能となります。ネットワーク間通信はTCP/IP、UDP通信が代表的ではありますが、このQnetの機能は複雑な手順を必要とするTCP/IP、UDP通信を使用よりもシンプルに作成することが可能であり強力です。
|