リアルタイムマルチタスク実行システム(iRMX)は、Intel 8080および8086ファミリーのプロセッサで使用するために設計されたリアルタイムオペレーティングシステムです。
Intelは1970年代にiRMXを開発し、当初は1976年にRMX/80、1980年にRMX/86をリリースして、自社のプロセッサとマルチバスシステムプラットフォームのサポートと需要創出を図った。[ 1 ]
RMX/86の機能仕様はブルース・シェーファーとマイルズ・ルウィットによって作成され、インテルがマルチバス事業全体をカリフォルニア州サンタクララからオレゴン州アロハに移転した直後の1978年夏に完成した。シェーファーとルウィットはそれぞれ、RMX/86製品を開発し、1980年の予定通りのリリースを実現した2つのチームのうちの1つを率いた。
2000年現在、iRMXはTenAsys Corporationによって世界中でサポート、保守、ライセンス供与されており、Intelとの独占ライセンス契約に基づいて提供されています。
iRMXは階層構造の設計を採用しており、カーネル、コア、基本I/Oシステム、拡張I/Oシステム、およびヒューマンインターフェースで構成されています。インストール時には、タスク間同期、通信サブシステム、ファイルシステム、拡張メモリ管理、コマンドシェルなど、必要なコンポーネントのみを含める必要があります。ネイティブファイルシステムはiRMX固有のものですが、14文字のパス名コンポーネント、ファイルノード、セクターリスト、アプリケーション読み取り可能なディレクトリなど、オリジナルのUnix (V6)ファイルシステムと多くの類似点があります。
iRMXは複数のプロセス(RMX用語ではジョブと呼ばれる)をサポートし、各プロセス(タスク)内で複数のスレッドをサポートします。さらに、ハードウェア割り込みに応答して実行される割り込みハンドラとスレッドも存在します。したがって、iRMXはマルチプロセッシング、マルチスレッド、プリエンプティブなリアルタイムオペレーティングシステム(RTOS)です。
iRMX 86 では、以下のコマンドがサポートされています。[ 2 ]
Intel Multibus ハードウェア上の iRMX III は、CLSCS のコアシステムの大部分で使用されています。ロンドン地下鉄セントラル線信号制御システムは、Westinghouse (現Invensys )によって供給され、1990 年代後半に運用が開始されました。セントラル線は自動列車運行路線です。自動列車保護は、iRMX を使用しない線路脇および列車搭載機器によって行われます。iRMX を Multibus 上で、Solaris をSPARCコンピュータ上で使用するのは、自動列車監視要素です。16 台の iRMX ローカルサイトコンピュータがセントラル線沿いに分散配置され、制御センターには 6 台の iRMX 中央コンピュータが設置されています。22 台の iRMX コンピュータはすべて二重冗長構成です。2011年現在iRMX CLSCSは引き続きフル稼働しています。
オスロ地下鉄は、中央の共通トンネル線路において、ウェスティングハウス社製のiRMX制御システムを採用しているが、これはより簡素なシステムである。このシステムは2011年に廃止される予定だった。
Intel 8080に初めて搭載されて以来、iRMXにはいくつかのバリエーションが開発されてきました。iRMX I、II、III、iRMX-86、iRMX-286、DOS-RMX、Windows版iRMX、そして最近ではINtimeです。iRMXの初期バージョンの多くは現在も使用されていますが、新しいリアルタイムアプリケーションの開発でサポートされているのは、iRMX III、Windows版iRMX、およびINtimeのみです。これら3つのサポートされているiRMXバージョンを実行するには、 Intel 80386相当以上のプロセッサが必要です。
INtime RTOSと他のすべてのiRMXバリアントとの重要なアーキテクチャ上の違いは、アドレスセグメントのサポートです(x86メモリセグメンテーションを参照)。オリジナルの8086ファミリのプロセッサは、 16ビットレジスタを介して大量のメモリをアドレス指定する際に伴う制限を克服するために、セグメントレジスタに大きく依存していました。iRMXオペレーティングシステムとiRMX用に開発されたコンパイラには、オリジナルのx86アーキテクチャのセグメント化されたアドレス指定機能を活用する機能が含まれています。iRMXのINtimeバリアントは、セグメンテーションを明示的にサポートしておらず、よりシンプルで一般的な32ビットフラットアドレス指定方式のみをサポートしています。
INtime向けに作成されたネイティブプロセスは、セグメント化されていないフラットモードのアドレス指定のみを使用して動作できるにもかかわらず、セグメント化されたアドレス指定を使用する一部の古いiRMXアプリケーションをINtimeカーネルに移植して実行することが可能です。
IntelがIntel 80386プロセッサを発表した際、iRMX RTOSを拡張して32ビットレジスタをサポートするだけでなく、 Intel 32ビットアーキテクチャの保護モード機構を記述する4つの異なる保護リング(リング0~3)のサポートもiRMX IIIに含めました。実際には、保護スキームを実装するためにリング0とリング3以外を使用したシステムはごくわずかです。
iRMX I、II、III、-286、-86の各バージョンは、スタンドアロンのリアルタイムオペレーティングシステムとして設計されています。iRMX向けには、コンパイラ(PL/M、Fortran、C)、エディタ(Aedit)、プロセスおよびデータ収集アプリケーションなど、多数の開発ユーティリティとアプリケーションが開発されました。Intelは、VAX/VMSシステム上で動作するクロスコンパイラも提供しました。iRMX IIIは現在もサポートされており、Windows版iRMXやINtimeなど、より新しいリアルタイム仮想化RTOS製品のコアテクノロジーとして使用されています。
DOS-RMXは、スタンドアロンのiRMXオペレーティングシステムの派生版であり、2つのオペレーティングシステムが単一のハードウェアプラットフォームを共有できるように設計されています。簡単に言うと、DOSとiRMXは単一のIBM PC互換コンピュータ上で同時に動作し、iRMXタスク(プロセス)はDOSカーネル、割り込み、およびアプリケーションよりもスケジューリングの優先順位が高くなります。iRMXイベント(ハードウェア割り込みなど)はDOSカーネルをプリエンプトし、タスクがリアルタイムイベントに時間決定論的に応答できるようにします。機能的には、DOS-RMXはWindows版iRMXおよびINtimeの前身にあたります。
実際には、DOS-RMXはDOSカーネルに対して常駐型プログラム(TSR)として認識されます。TSRとしてロードされると、iRMXはCPUを占有し、保護モードに切り替わり、 RMXタスク内の仮想マシンでDOSを実行します。この組み合わせにより、RMXのリアルタイム機能と完全なDOSサービスが提供されます。
DOS-RMXと同様に、このシステムはDOS、Windows、iRMXによって定義されたサービスと機能のハイブリッドな組み合わせを提供します。拡張されたWindows DDE機能によるアプリケーション間通信により、RMXタスクはWindowsプロセスと通信できます。[ 3 ]
iRMX for Windows は、元々は 16 ビット版 Windows と組み合わせて使用することを目的としていました。2002 年に、これらの RMX パーソナリティを INtime RTOS for Windows に追加することで iRMX for Windows が再導入され、32 ビット保護モード版 Windows (Windows NT、Windows 2000 など) と組み合わせて使用できるようになりました。[ 4 ]
INtimeは、その前身であるiRMXと同様に、リアルタイムオペレーティングシステムです。また、DOS-RMXやWindows版iRMXと同様に、単一のハードウェアプラットフォーム上で汎用オペレーティングシステムと並行して動作します。INtime 1.0は、1997年にWindows NTオペレーティングシステムとともに初めて発表されました。その後、Windows VistaやWindows 7を含む、すべてのプロテクトモード対応Microsoft Windowsプラットフォームをサポートするようにアップグレードされています。
INtimeはスタンドアロンRTOSとしても使用できます。INtimeバイナリは、 INtime RTOSのスタンドアロンノード上で実行する場合、変更せずにそのまま動作します。Windowsとは異なり、INtimeはIntel 80386または同等のプロセッサで動作します。現在のバージョンのWindowsオペレーティングシステムは、一般的に起動および実行に少なくともPentiumレベルのプロセッサを必要とします。
INtime 3.0 の導入には、いくつかの重要な機能強化が含まれていました。その中には、マルチコアプロセッサのサポートと、Microsoft Visual Studioを使用して INtime カーネル上のリアルタイムプロセスをデバッグする機能が含まれています。INtime はSMPオペレーティングシステムではないため、マルチコアプロセッサのサポートは、特殊な非対称マルチプロセッシング形式に限定されます。マルチコアプロセッサで使用する場合、INtime は 1 つの CPU コアで実行され、残りのプロセッサコアで Windows が実行されるように構成できます。
BOS(BOS1810、BOS1820)と名付けられたこのオペレーティングシステムは、 1980年代にドレスデンの東ドイツVEBロボトロンプロジェクトによってクローンされた。 [ 5 ] [ 6 ]
ユースケースはTenAsys [ 7 ]のウェブサイトで見ることができます。
{{cite report}}: CS1メンテナンス: アーカイブサービスは非推奨になりました (リンク)[…] 1977年に私が作ったRMX-80と、オレゴン州アロハの大規模なチームによって長年にわたって開発されたRMX-86には共通点はありません。[…] RMX-80は非常に小さな一連の原則に基づいて設計されていましたが、RMX-86はあらゆる部品と機能を網羅していました。70年代後半、オレゴン州の切羽詰まったマーケティング部門から連絡があり、RMX-86があまりにも大きなフットプリントを持っていたため、SBCボードで販売できるRMX-88を開発してほしいと依頼されました。[…](注:RMX-80およびRMX-88の開発者による回想録。)