四つのリアルタイムオペレーティングシステムの分析比較
本論文では4つのリアルタイムオペレーティングシステム(RTOS)の特性を解析し比較した。Lyncリアルタイムシステム会社のLyncOS、QNXソフトウェアシステム有限会社のQNXと代表的なリアルタイムLinuxの2つのLinux-ニューメキシコ工学院のRT-Linuxとカンザス大学のKUT-Linuxです。近年、リアルタイムオペレーティングシステムはマルチメディア通信、オンライン事務処理、生産プロセス制御、交通制御などの各分野で広く使われており、ますます重視されている。1、基本的な特徴概説QNXは分散式、組込み式、規模拡張可能なリアルタイムオペレーティングシステムである。それはPOSIX.1、(プログラムインターフェース)とPOSIX.2(Shellとツール)に従って、部分はPOSIX.1 bに従っています。最初の開発は1980年で、今ではかなり成熟しています。Lync OSは分散式、組込み式、規模拡張可能なリアルタイムオペレーティングシステムであり、POSIX.1 a、POSIX.1 b、POSIX.1 c規格に準拠しています。これは1988年に開発されました。RT-Linuxは組み込みハードリアルタイムオペレーティングシステムであり、その部分はPOSIX.1 b標準をサポートしています。KURT-Linuxは組み込み式アプリケーションのために設計されたものではなく、ハード(hard)のリアルタイム/ソフト(ソフト)のリアルタイムアプリケーションとは違って、「厳格(firm)」というリアルタイムアプリケーションの概念を提出しています。2、体系構造の異同リアルタイムシステムの実現は、コアが小さくて信頼性があり、ROM固化しやすく、モジュール化して拡張することができる。マイクロコア構造システムでは、OSサービスモジュールは独立したアドレス空間で動作するため、異なるモジュールのメモリエラーは分離される。しかし、弱点もあり、プロセス間通信とコンテキスト切り替えのオーバーヘッドが大幅に増加した。大きな統合カーネルシステムに対しては,システム呼び出しをより多く行うことにより,同じタスクを達成しなければならない。QNXは、マイクロカーネルリアルタイムオペレーティングシステムであり、コアは4つのサービスのみを提供する。プロセススケジュール、プロセス間通信、ベース層ネットワーク通信および中断処理は、独立したアドレス空間で実行される。他のOSサービスはすべて協力ユーザープロセスとして実現されており、QNXコアは非常に小さい(QNX 4.xは約12 Kb)であり、動作速度は非常に速い。Lynch OSはまだマイクロカーネル構造のオペレーティングシステムではありませんが、いわゆる「Galaxy」技術を使って大規模な集積化カーネルからマイクロカーネルに改造する計画です。この技術はLynch OS 3.0に導入されます。新しい28 Kbマイクロカーネルは以下のサービスを提供します。コア起動と停止、下のメモリ管理、エラー処理、中断処理、マルチタスク、下の同期と相互反発サポート。RT−Linuxは、サービスルーチンの読み込み、底のタスク通信キュー、中断サービスルーチン(ISR)、Linuxプロセスのみをサポートする小さなリアルタイムコアを実現しました。元の非リアルタイムLinuxコアは、先取り可能なタスクとしてこのコア上で実行され、すべてのタスクはコアアドレス空間で実行されます。マイクロコアと大きなカーネルとは異なり、リアルタイムEXE(realtime executive)アーキテクチャに属しています。その信頼性とメンテナンス性は電気通信サービスシステムにとって理想的ではない。KURT-Linuxコアは二つの部分を含みます。カーネルとリアルタイムモジュールです。カーネルはリアルタイムイベントのスケジューリングを行い、リアルタイムモジュールはユーザープロセスに特定のリアルタイムサービスを提供する。マイクロコア構造に属さない。3、スケジュール戦略分析タスクスケジュールポリシーはリアルタイム性能に直接影響する要素である。スケジューリングアルゴリズムは様々であるが,ほとんどは単調率アルゴリズム(RM)と最早期優先アルゴリズム(EDF)によって変化する。前者は主に静的周期タスクのスケジューリングに用いられ、後者は主に動的スケジューリングに用いられ、異なるシステム状態では両アルゴリズムにそれぞれ優劣がある。商業製品に採用される実際の戦略は常に各種の要素の折衷である。QNXはPOSIX.1 b標準プロセススケジュールを提供する:32プロセス優先度;優先度に基づく本文切り替え。任意のスケジューリング戦略:FIFO、ラウンドポリシー、適応戦略。LyncOSのスケジュールポリシーは、LyncOSサポートスレッド概念であり、256個のグローバルユーザスレッド優先度を提供する。ハードリアルタイム優先度スケジュール:ラウンドスケジュール、定量スケジュール、FIFOスケジュールポリシーが各優先度に実装されている。高速本文の切り替えとブロック時間が短いです。占有式のRTOSコア。RT-Linuxはオペレーティングシステムの下で簡単なリアルタイムコアを実現しました。Linux自身は奪取可能なタスクとして核内で運行しています。優先度が一番低く、いつでも高い優先度のタスクに優先されます。ユーザは、ロード可能なコアモジュールとして実現できるスケジュールプログラムを自ら作成することができる。実装されているスケジュールは、優先順位に基づく占有率スケジューリングおよびEDFスケジュールである。優先度に基づくスケジューリングは「単調率アルゴリズム」を使用して,周期的タスクを直接支援する。KURT-Linuxは通常状態とリアルタイム状態の2つの状態で動作できます。通常の状態では、すべてのプロセスが実行されますが、いくつかのコアサービスは、中断された遮蔽物の予期せぬ性をもたらします。リアルタイムモードではリアルタイムプロセスのみが実行できます。FIFOスケジュールポリシー、ラウンドスケジュールポリシー、UNIXタイムスケジュールポリシーをサポートします。SCHEDT−KURTスケジュールポリシーを追加しました。これは、特定のスケジュールファイルを使用して、事前に定義されたスケジューリング対象プロセスのパラメータを記録します。以上の簡単な説明から、前の3つのスケジュールポリシーは、特に2つの商業RTOS、POSIX.1 bのリアルタイムスケジューリング基準に従って実装されていることが分かる。4、オペレーティングシステムサービス比較4.1 QNXのシステムサービス:様々なファイルシステムと機器管理を含み、複数のファイルシステムが同時に動作することをサポートしています。完全なPOSIX.1およびUNIXシンタックスを提供するPOSIXファイルシステムを含み、様々なフラッシュメモリ装置の埋め込みファイルシステムをサポートしています。複数のファイルサーバ(Windows NT/95、Windows NT/95など)に対応しています。LAN Managerなど)の透明アクセスSMBファイルシステム、DOSファイルシステム、CDROMファイルシステムなど。設備管理プロセスと端末装置の間で、大きなスループット、低オーバーヘッドインターフェースサービスを提供する。図/ウィンドウのサポート。QNX Windows、X Window System for QNX、MS Windows NT/95、X Windowシステムへのリモートグラフィックス接続を含む。TCP/IP for QNX高機能、フォールトトレランス型QNXネットワーク--FLEETは、ネットワークに接続されているすべてのコンピュータを論理的なスーパーコンピュータにする。透明な分散処理。FLEETネットワーク処理は、ネットワークがIPCに対して透明であるように、メッセージ伝達およびプロセス管理原語の統合とともにローカルおよびネットワークIPCを統合する。4.2 LyncOSのシステムサービス:ネットワークと通信。UNIX/POSIX APIを使うので、Lyncxはデータ通信とインターネットアプリケーションに適しています。また、システムの開放性のため、ネットワークソフトはLynceに移植しやすいです。同様に、Lynchはまた、電気通信システムの基本的なアーキテクチャ、操作、マルチメディアアプリケーションに適用できるように、重要な電話通信プロトコルを提供する。TCP/IPプロトコルスタック。Lyncは最適化されたTCP/IPプロトコルスタックを持参し、TCPヘッダ予測、高級ルートアルゴリズム、IPレベル多元接続ブロードキャスト、リンクレベルの高速バッファなどの高機能サービスを提供する。インターネットツール。Telnet、Ftp、tftp、PPP、SLIP、リアルタイムスケジュールの組込みJava仮想マシン、組込みHTTP server、bootp、ARP/RARP、DNSドメイン名サービス、電子メール、Perl、電話通信プロトコルなどを含む。SVR 3流Lync OSフロー機構は、ストリームベースのドライバとアプリケーションの開発と移植のためのコアサポートを提供する。ファイルシステム。リアルタイムのUNIX階層ファイルシステム:連続構造ファイル、バッファ付き/バッファなし、元のパーティションと元のデバイスへのアクセス。Motifベースのグラフィックユーザーインターフェース。分散的に資源を計算する。SCMPはVMEバス上のマルチ処理と結合して、PCIブリッジサービス、CompecPCI Hot-swap Services、Lyncx/HA-DDS分散データシステムです。4.3 Linuxのシステムサービス:最近、多くのLinuxベースのリアルタイムアプリケーションが開発され、成熟した豊富な資源を持っています。UNIXユーザーの開発ツールとアプリケーションはLinuxに移植されます。TCP/IPネットワークプロトコル。各種インターネット顧客/サービス端末ソフト。X WindowC/C+++、Javaなどの言語コンパイラ。上記システムの共通点は、グラフィカルインターフェース、各種ネットワークサポートなどの必要なツールを提供しています。QNXは、より伝統的な「分散型」の概念に合致するオペレーティングシステムであり、ターゲットは、ローカルネットワーク全体を大きなスーパーコンピュータに変え、ネットワークの存在がユーザーに透明で、ファイルシステムが提供するサービスも豊富である。しかし、分散の程度が高いほど、システムオーバーヘッドの増大を意味する。LynxOSは豊富なネットワークサービスを提供することを意味していますが、Linuxの最大の利点は経済であり、ニュースグループやmaling 5、システム開放性の比較によって、多くの大きい、中型システムにとって、多くのソフトウェアはUNIXプラットフォームのために作成されていますので、RTOSがPOSIX/UNIX APIに提供されるかどうかは重要です。5.1 QNXの開放性QNXのPOSIX互換性と、その提供するUNIX特色のコンパイラ、デバッタ、X Window、TCP/IPはUNIXプログラマに熟知されています。様々なCPU:AMD Elance 300/310/400/410、Am386 DE/SE、Cyrix MediaGX、x 86プロセッサ(386以上)、Pentiumシリーズ、STMicroelectricsのSTPCをサポートします。様々なバス:CompectPCI、ESA、ISA、MPE(RadiSys)、STD、STD 32、PC/104、PC/104-Plus、PCI、PCMCIA、VSA、VME。各種の外部設定:多種類のSCSI設備、IDE/EDEドライバ、10 M/100 Mイーサネットカード、Token Ringネットカード、FDDIインターフェースカード、多種類のPCMCIA設備、フラッシュメモリ、サウンドカードなど。5.2 Lync OSのオープンPOSIX.1 a、1 b、1 cおよびBSD 4.4などの互換性は、POSIX 1003またはUNIXに準拠したプログラムがLyncxOSに容易に移植されるようになる。様々なCPUのマザーボードをサポートします。CompectPCI(6 U/3 U)と標準PCI、VME/Eurobus、PC/104、PC/ATハードウェアなどがあります。各種外装アダプター:10/100 BaseT Ethernet、SCSIインターフェース、単一/多チャンネルシリアルコントローラ、単/二重パラレルポート、クロック、タイマー、IDEインターフェース、高解像度ディスプレイアダプタなど。5.3 Linuxのオープンユーザーは、UNIXのすべての開発ツールを入手することができます。市場上の安くてよくあるハードウェアが使えます。分析によって、上記のシステムはそれぞれ優勢が見られます。だから、プラットフォームを組み立てる過程で、ユーザーは自分の実際の需要に応じて、性能価格比を結合して選択します。