国産RTOSの礎となった「TRON」の歴史を語ろうリアルタイムOS列伝(58)(3/3 ページ)

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

日本の組み込み業界に大きな影響を与えたITRON

 そんなわけで、TRON OSが軒並み失敗というか不成功に終わっている中で、唯一成功したのがITRONである。ITRONの開発は1984年にスタートしたが、まずNECがV20/30上で動作するITRON/86を1985年に、日立が68000上で動くHI68Kを1986年に公開するなど各社による実装が行われ、その結果が仕様に反映される形で開発が進み、1987年に16ビットCPUをターゲットとした最初のバージョンであるITRON1の仕様が公開される。

 このITRON1は、日本の組み込み業界に大きな影響を与えた。海外では1980年代後半ともなるとRTOSを利用するケースが多かったことはこれまで本連載でご紹介してきた通りだが、日本ではベアメタルでの実装がほとんどだった。理由は幾つか考えられるが、日本で開発されたRTOSがなかったのも一つの大きな要因だろう。あと、海外のRTOSだとドキュメントもサポートも全部英語ということになるが、案外組み込み業界ではこれが嫌がられたこと(これは日本の半導体メーカーが、非常に丁寧に日本語のマニュアルやサポートを提供し、開発者がこれに慣れていたのが一因だと筆者は考える)も間違いなく理由であろう。逆に言えば、日本で開発され、日本語でマニュアルやサポートが受けられるRTOSは、組み込み開発者にとって検討するに足りる選択肢となった。

 話をITRONに戻すと、1989年には、先ほど出て来たトロンチップをサポートするITRON2を策定するとともに、このITRON2の仕様を簡略化し、8ビットCPUまで対応範囲を広げたμITRON2の仕様が公開される。

 パーソナルメディアが1990年に公開した「ITRON・μITRON標準ハンドブック」によれば、以下のように説明されている。

一般に、標準OSとしての互換性の追求と適応化による性能の向上とはトレードオフの関係になるため、両者のバランスをとる必要が生じる。ここで、既存の16ビットプロセッサ向けに両者のバランスをとったのがITRON1であり、新しい32ビットプロセッサ向けに両者のバランスをとったのがITRON2であり、シングルチップコンピュータや8ビットプロセッサ向けに両者のバランスをとったのがμITRONであるということになる。言い換えると、ITRON1の標準化の程度を上げて仕様拡張を行ったのがITRON2であり、ITRON1の適応化の程度を上げて仕様を簡略化したのがμITRONとなる。

 残念ながら、ITRON2はほとんど普及しなかった(何しろトロンチップがほぼ失敗に終わったのだから仕方がない。また当時組み込み業界で32ビットの利用例はまれだった)のに対し、μITRON2は8ビットのMCUもターゲットとしていたため、より広範に利用が可能だった。しまいには32ビットへの移植例まで出たほどである。

 こうした動向を受けて、1993年にはμITRON3がリリースされる。このμITRON3は、ほぼITRON2と同等の機能を提供できるようになった一方で、System Callに複数のレベル(図3)を設け、最小構成はRのみ、最大構成はENとして、あとは利用するシステムの能力にあわせて選択できるようになった。

図3 図3 μITRON3.0仕様より。R(Requirement)/S(Standard)/E(Extended)の3つ+接続機能(N)の有無で6種類+CPU-dependentの7つが用意される[クリックで拡大]

 8ビットMCUならRだけだし、32ビットでメモリも豊富なものならEN、という感じかと思われる。ちなみにここで言う「接続機能」というのは、疎結合された他のノードとの通信機能であるが、メールボックスあるいはいわゆるネットワークとは異なる、言ってみればタスク間の同期やメッセージ交換をノードをまたがる形で実装するための仕組みであり、誤解を招かないようにあえて接続機能と呼んでいる。

 このμITRON3、名前としてはまだμが付いているものの、実態としては分離していたITRONとμITRONをあらためて統一した形になっている。実のところ、国内の半導体メーカーが提供するほぼ全てのMCUに対しμITRON2の実装が行われており、μITRON3もこれに引き続き多くのMCUに実装されることになった。

 1999年、最後のITRONとでも言うべきμITRON4の仕様が公開される。

 もともとITRONの目標としていたところは「弱い標準化」であった。つまり標準化の対象はリアルタイムカーネルの仕様程度にとどめ、なるべく多くのシステムに移植できるようにすることを最優先としたものであった。ところが実際にμITRON2/3を使ってシステムを構築した開発者からは、逆にもっと広範に渡って仕様を定める「強い標準化」を求める声が高まってきた。

 これはμITRON上でミドルウェアが広範に利用されるようになってきたり、それこそTCP/IPを含むネットワーク対応やその上層でのインターネットの利用などでアプリケーションが必須要件になってきたりしたことで、こうした部分まで標準化をしないと逆に使いにくいという状況になってきたのが要因である。実は、μITRON4に先立つ1996年に、こうしたニーズに応える形で強い標準化を目指したITORNサブプロジェクトの第2フェーズがスタートしているが、μITRON4そのものは引き続き弱い標準化の考え方の下で開発された最後のITRONとなった。

 このμITRON4をもって従来のITRONプロジェクト(というかTRONプロジェクト)は終了。2000年に坂村氏はTRONプロジェクトが第2ステージに入ったことを宣言し、2001年に次世代のTRONプロジェクトであるT-Engineプロジェクトがスタートする。次回はここからご紹介したい。(次回に続く)

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.