IoT(モノのインターネット)市場が拡大する中で、エッジ側の機器制御で重要な役割を果たすことが期待されているリアルタイムOS(RTOS)について解説する本連載。第57回は、インテルCPUの黎明期を支えたRTOS「iRMX」を紹介する。
前回紹介した「INtime」のご先祖というか源流にあたるのがIntelが開発したリアルタイムOS(RTOS)「iRMX」である。前回は本当に名前だけを出した感じだったので、今回はこのiRMXを中心に説明しようと思う。
iRMXには多数のバージョンが存在するのだが、最初に開発されたのは1976年のiRMX-80である。ただし、その前に別のOSの話をする必要がある。1974年にIntelは8080の発売を開始するが、そこからちょっと遅れて1975年にMDS-800と呼ばれる開発システムをIntellecブランドで発売する(図1)。
ちなみにこれに先立ち、4004を搭載したIntellec MCS-4や、8008を搭載したIntellec MCS-8なども存在していた。Intellecというのは、1970年代にIntelのコンピュータシステム向けのブランドとして使われていたものだ。MDS-800の“MDS”はMicrocomputer Development Systemの略で、要するにシステム開発用の機材であり、この上でコンパイラやリンカ、ICE(インサーキットエミュレータ)などが提供された。その開発環境を動かすためのOSとしてIntelから提供されたのがISIS(Intel System Implementation Supervisor)-IIであるが、OSと言っても実態はDOSに近い。
要するに、開発を行うのに何かしらインタラクティブな操作環境がないとまずいということでIntel内製で開発されたものである。ちなみにDigital ResearchのCP/Mも、元々はMCS-8用に開発したもののIntelは社内でISIS-IIを開発していたために採用されず、そこで8080/Z80向けの汎用OSとして自社ブランドで発売を開始したものである。余談だが、ISIS-IIということはISIS-Iもどこかにあったとは思うのだが、こちらは残念ながら調べきれなかった。
さて、そんなわけでISIS-IIはインタラクティブな操作環境を提供したが、ここで開発したターゲットとなる組み込みデバイス向けは逆にインタラクティブな環境が必ずしも必要ない、ということで組み込み向けのOSが欲しいという要望が出てきた。こうした理由で開発されたのがiRMX-80だったもようだ。なので、iRMX-80用のICU(Interactive Configuration Utility)はISIS-II上で動作しており、ここで環境構成を行った上でiRMX-80の実行環境をビルドする形になっている。
もっとも、全部が全部ISIS-II上でできたか? というと、当初は不可能だったようだ。というのは、このiRMX-80上で動作するアプリケーションはPL/Mで記述する必要があり、このPL/MのコンパイラはDigital Researchでまず8008用に開発され、次いで8080対応版がリリースされたのだが、初期のバージョンはDECのPDP-10上で動くクロスコンパイラの形でリリースされたからだ。これは本当に初期の話で、特に1978年に8086が登場し、これをベースにしたSBC(シングルボードコンピュータ)の上でISIS-IIその他が稼働するようになると、PL/Mのコンパイラも8086ベースで動作するようになり、PDP-10などを使ってのクロス開発環境からの移行が進んだ。
Copyright © ITmedia, Inc. All Rights Reserved.