インテルCPUの黎明期を支えたRTOS「iRMX」はなぜ過去のものになったのかリアルタイムOS列伝(57)(3/3 ページ)

» 2025年04月02日 09時00分 公開
[大原雄介MONOist]
前のページへ 1|2|3       

286対応のiRMX II、386対応のiRMX IIIも登場

 当初iRMX IIはiRMX-286という名称だったが、すぐにiRMX IIになった。そしてiRMX IIIはもうお分かりの通り386向けのiRMXである。こちらはiRMX-386ではなく当初からiRMX IIIとして登場している。そんなiRMX I/II/IIIであるが、特にiRMX IIIでは色々と大きな変更が加えられた。最初がC言語への対応である。iRMX I/IIではPL/Mが主に対応するプログラミング言語だったし、iRMX IIIもR1.0は同じだったが、R2.0以降ではC言語への対応が行われた。「主に」というのはPL/Mに加えてFortranやアセンブラへの対応が段々加えられていったのだが、C言語への対応が最後になった格好だ。1991年にリリースされたiC-386というコンパイラは、名前の通りi386以降に対応したコードを生成するコンパイラであるが、これへの対応がiRMX IIIでは追加されている(図5)。

図5 図5 C言語がメインになったわけではなく、あくまでPL/Mと同等という位置付け[クリックで拡大]

 もう一つがDOS/Windows環境への統合である。iRTX IIIではRTE(Real-time Extension)を利用して通常のMS-DOSアプリケーションをiRMX環境で動かしたり、逆にVM86 DispatcherとRMX TSRという仮想iRMX環境を利用してiRMXアプリケーションをMS-DOS上で稼働させたりすることも可能になった。Windows 3.1に関しては、このMS-DOSレベルでの共存を利用する格好でiRMX環境と共存を可能にしている。これがさらに進化したものがiRMX for Windowsになるわけだが、こちらは前回紹介したINtimeでも説明したように、完成したのはiRMXの資産一式がtenAsysに買収された後になった関係で、INtimeと統合される形で提供されている(図6)。

図6 図6 iRMX for Windowsの構成図。iRMX kernel/nucleusの上にINtime APIが乗っかっており、またRTE/OSEMなどがiRMX kernel/nucleusと並行して動作、これがWindows kernelと協調する形で動作しているのが分かる[クリックで拡大]

 iRMXそのものについて簡単に説明しておくと、一般に言われるカーネルに相当するものはNucleusという名称で提供されている。このNucleusは、Task/Job/Segment/Mailbox/Semaphoreの5種類のオブジェクトを提供する。Task/Jobがいわゆるプロセス管理に相当するもので、俗に言うProcessがTask、Process空間に当たるもの(つまりProcessの稼働に必要とされるリソース一式をまとめたもの)がJobである。Taskは、PriorityによるSchedulingが行われる。1つのJobに複数のTaskを割り当てることも可能だが、同時に複数のTaskの実行はできない(これはiRMX-80の頃の特徴をそのまま引き継いだ格好だ)。Segmentはメモリ管理オブジェクト、Mailbox/SemaphoreはそれぞれTask間のメッセージ通信や同期を担う格好である。これはiRMX Iというか、iRMX-86/88(やその前身のiRMX-80)が、アプリケーション環境をROM化し、ROMからブートして実行するという用途に向けたものだったことを考えると必要十分なものだった。

 ただiRMX-IIIのころになると環境もリッチになり、またもう組み込み用途向けだとROMブートだけでなくFDD/HDDからのブートも一般的になってきたこと、さらにMultibusベースの組み込みシステムからPCのプラットフォームをそのまま使う方向になってきて、加えて他のOS環境と共存が強く求められるようになってきた状況を考えると、もはや現状にそぐわないというか古すぎる感じになってきた。

 MS-DOSやWindowsに比べるとカーネル(というかNucleus)のオーバーヘッドが少ないので相対的にリアルタイム処理に向いていたのは事実だが、当初からリアルタイム処理を念頭に設計されたわけではなく、また(SMP/AMPを問わず)マルチCPUへの対応がない(前ページの図3の構成をマルチCPUと言い張ることはできなくもないが、1つのSBC上に複数のCPUが搭載される場合には未対応)など色々制限が多く、それもあって急速に過去のものになってしまったのは事実である。Multibusと併せてtenAsysに売却されたのも、こうした状況を考えれば仕方なかったと言える。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.