ITRON(アイトロン、Industrial TRON)は、TRONプロジェクトが策定・維持している組み込みOSリアルタイムOSカーネルの仕様である。

仕様に準拠した実装を指して、ITRON OS等と呼ぶ場合もある。

トロンフォーラムが組込み総合技術展(主催:一般社団法人組込みシステム技術協会)で毎年実施している、「組込みシステムにおけるリアルタイムOSの利用動向に関するアンケート調査」によれば、日本では長年組み込みOSのトップシェアを占めており、業界標準のOSとして採用されている。例えば2016年度の調査では、組み込み系において(ITRONやT-Kernelなどを含む)TRON系OSのシェアが全体の約6割を占めたが、(μITRONを含む)ITRON系OSのシェアだけで全体の43%に達し、TRONに続くシェア2位となった(POSIXを含む)UNIX系OSの20%を引き離している[1]

海外では2010年代でAndroidUbuntuなどLinux系OSが組み込み用としては圧倒的で、ITRONやT-Kernelなどを含むTRON系OSは全く使われておらず、海外で販売される日本製家電製品やトヨタ自動車の車載用OSとして使われた(Usage_share_of_operating_systems英語版およびITRON project英語版を参照)。

海外ではあまり知名度がないが、日本製家電に搭載されて世界に輸出されているため、OSのシェア自体は高い。2003年の時点でOSのシェアが世界1位とされた[2]。ライセンスが緩く、無料だったので、Linuxが普及する2000年代以前はアジアでもかなり使われていた。

μITRON 編集

極めて性能の低いシステムから、大規模なシステムにまで対応できることから、組み込み系OSで大きなシェアを占めるITRONのサブセット。μITRON3以降はITRONと言うとμITRONのことを指す。

歴史 編集

TRONプロジェクトで、インフラとなるシステムとして最初に設計が開始され、情報処理学会の第29回全国大会で基本設計の概要を発表している。

  • 1984年頃 TRONプロジェクトのサブプロジェクトとしてITRONの開発開始。
  • 1987年 ITRON1の仕様が公開。
  • 1989年 ITRONのバージョン2となるITRON2、およびそのサブセットとなるμITRON2の仕様が公開。
    • ITRON2では、32bitの大規模なシステム向けに策定されたITRONと、8 - 16bitの小規模なワンチップマイコン等を対象としたサブセット的な仕様であるμITRONとに分けて公開された。μITRONにバージョン1は存在せず、最初のバージョンがμITRON2.0である。このうちμITRON2は、非常に性能の低いMCUでも利用できたことから、組み込み向けで主要なMCUのほぼすべてで採用されるなど広範囲に使われ、32bitの大規模システムまでμITRONが採用され、μITRON3では8-32bitまで対応可能な仕様が策定された。
  • 1993年 μITRON3の仕様が公開。
    • μITRON3ではシステムコールのレベル分けによって、一つの仕様で小規模システムから大規模システムまでをカバーしている。ITRON2のフルセットにほぼ相当する機能を定めている。
  • 1996年頃 ITRONサブプロジェクトの第2フェーズが開始。
    • この頃より組み込みシステムが急速に大規模化・複雑化していったため、アプリケーションの移植性を高めるための要望が高まった。組み込み向けシステムが高性能化し、ITRON仕様の策定時点ではオーバヘッドが大きすぎるために見送られた機能も入れられた。μITRON4の仕様書で紹介されているTRON協会のアンケートでは、当時の現場では「OSの使用リソースが大きすぎる」という悩みよりも「技術者が使いこなせない」「仕様の違いが大きく切り替えの負担が大きい」など悩みの方が大きかった。
  • 1999年 μITRON4の仕様が公開。
    • 従来のITRONは性能が低いCPUでも利用できるように「弱い標準化」の思想だったが、ITRON上でのミドルウェアの利用が広まるとともに、ソフトウェアの移植性を高める「強い標準化」の要望が出てきたことから、仕様の互換性や厳密性が高められた。
  • 2000年 T-Engineプロジェクト開始。
    • ITRONの標準化を進め、「より強い標準化」を志向した次世代リアルタイムOSであるT-Kernelプロジェクトが開始された。

現状 編集

2016年現在のμITRON仕様の最新は、1999年公開のμITRON4仕様で、μITRON4仕様の最新は、2006年12月公開の4.03.03である。仕様書では、μITRONからT-Kernelへスムーズに移行可能な仕様を今後策定したいと予定が語られている。

坂村曰く、μITRONは2000年の時点ですでに「成熟した技術」とのこと。ユビキタス・コンピューティング時代にはITRONプロジェクトよりもT-Kernelプロジェクトに注力すべきとの立場で、従来μITRONが得意とした小規模システム向けにもμT-Kernelが用意され、IoT時代に向けたμT-Kernel 2.0も用意されている。

T-Kernelは高度な情報処理を必要とする組み込み系システムでおもに採用されているが、それほどでもないシステムでは依然としてμITRONが使われている。

主な採用例 編集

 
エンジン制御システムにμITRONを採用したトヨタ・PRADO(2005年)[3]
 
本体のメインOSにFreeBSD、コントローラー(Joy-Con)の無線通信制御用OSにμITRON4.0を採用したゲーム機・Nintendo Switch(2017年)[4]

業務用機器、白物家電、ゲーム機リモコンなど、不可視領域でOSとして組み込まれている。

テレビ録画サーバーや自動車など高度な機器にも採用され、システム全体を制御する高度なOSの下に、複数のMCUと制御する複数のOSが搭載され、メインOSは組込Linuxや組込Windowsを採用しても、録画サーバーのメディア書き込み用MCUや自動車のエンジン制御用MCUなど不可視領域でμITRONが稼働している。任天堂が2017年に発売したゲーム機・Nintendo Switchは、メインOSとしてFreeBSD準拠のOSを採用しているが、コントローラー (Joy-Con) の近距離無線通信 (NFC) 制御用としてμITRON4.0仕様に準拠したイーソル社のリアルタイムOSを採用している[5]。Nintendo Switchは、本体のファイルシステムはイーソル社のT-Kernelベースの「eCROS」プラットフォームの一部である「PrFILE2 exFAT」を採用し、NFCを扱う通信スタックとしてAndroidプラットフォームの一部である「Libnfc-nci」を採用するなど、TRON系OSを含む様々なプラットフォームを採用している。任天堂ゲーム機以外に自動車やスマートフォンなどの高度な機器はメインOS以外にリアルタイムOSを含む複数のOSを搭載している。

一般消費者に最も近いOSのGUIを搭載したOSとしては、2000年代前半から後半にかけて日本で普及した高機能携帯電話(ガラケー)のOSとして広く使われた。ルネサスが2004年に発売して2000年代中頃に日本で発売された高機能携帯電話の多くでメインCPUとして採用されたSH-Mobile3など、携帯電話メーカーにプロセッサを提供するマイコンメーカーがプラットフォームの一部としてITRON仕様OSを提供した。ITRONは標準化が弱く、各社が携帯電話ごとにカスタマイズしてソフトウェアが膨張し、第3世代移動通信システム (3G) 携帯はOSのカスタマイズが問題となった[6]NTTドコモは2003年に、3GサービスのFOMAではOSとして今後はSymbian OSとLinuxを推奨することを表明するなど、2005年頃よりガラケーもITRONのようなリアルタイムOSではなくLinuxのような汎用性のあるOSが使われた。

携帯電話のメインOSとして使用されなくなった後も、カメラ制御用のマイコンなどに搭載されて動いている可能性がある。例えば、富士通が2003年に発売し、2000年代前半に日本で普及したカメラ付き高機能携帯電話の多くに採用された画像処理LSI「Milbeaut Mobile」がμITRONをOSとして採用していた[7]。Milbeautシリーズは、2010年代においてもドライブレコーダー、ドローン、監視カメラなどの画像処理LSIとして販売されている。

1990年代から2000年代前半のマルチメディア機器においては、低性能なプロセッサの性能を最大限に引き出して動画処理やネット通信をリアルタイムで並列的に制御するような高度な機能を実現するために、ITRONのようなリアルタイムOSを使わざるを得なかったが、一方で技術者の負担が非常に大きく、マイコンの性能が大きく向上した2010年代以降、このような高機能な機器の制御にリアルタイムOSを使うことは推奨されていない。基本的にAndroidなどの組み込みLinuxが使われ、リアルタイム性能が要求される部分のみリアルタイムOSが使われる。ITRONは標準化が弱いため、高機能な組込みシステム向けのリアルタイムOSとしてトロンフォーラムではT-Kernelを推奨し、2000年代前半の一般消費者向け組み込み機器でも2008年にセイコーエプソンのプリンターカラリオシリーズは、イーソル社のT-Kernelベースのソフトウェアプラットフォーム「eCROS」を採用した[8]

発展 編集

T-Kernel 編集

T-EngineフォーラムによるT-KernelはμITRON3.0仕様の発展版である。

ITRONでは「弱い標準化」の思想から、極めて性能の低いシステム(安価で大量に製造される組み込み系システム)から大規模な組み込みシステムにも対応できる柔軟性を持ったシステムであったが、そのぶん実装がハードウェアに依存する部分が大きく、システム自体のコストよりも技術者の教育や開発にかかる人的コストが相対的に重視される大規模な組み込みシステムでは「ソフトウェアの移植性が低い」「ミドルウェアの導入ができない」「技術者の負担が大きい」といった問題があった。

その反省から、T-Kernelは「より強い標準化」の思想でITRONの標準化を進め、互換性や移植性を高めることでミドルウェアの流通を推進し、大規模組み込みシステムにおける開発の効率を高めることを目的としている。

TOPPERS 編集

TOPPERSはITRONの主要な実装のひとつで、TOPPERS/JSPカーネルμITRON仕様4.03に基づいている。TOPPERS新世代カーネルは、ITRON仕様に必ずしも準拠させないとしているが、ITRONベースである。

脚注 編集

文献 編集

出典 編集

  1. ^ TEP160405_u01.pdfトロンフォーラム
  2. ^ The Most Popular Operating System in the World | Software | LinuxInsider
  3. ^ TRON PROJECT 30th Anniversary
  4. ^ 「Nintendo Switch」がμITRON4.0仕様準拠リアルタイムOSを採用 - MONOist(モノイスト)
  5. ^ 「Nintendo Switch」【ゲーム機器】リアルタイムOS・ツール・ミドルウェア |”. eSOL - イーソル株式会社. 2021年5月13日閲覧。
  6. ^ Mobile:ドコモ、FOMA向けLinuxの仕様を確定 ITmedia
  7. ^ 携帯電話向け画像処理LSI:Milbeaut Mobile
  8. ^ エプソンがカラリオ™ シリーズの最上位機種にイーソルのマルチコアプロセッサ対応リアルタイムOSを採用”. eSOL - イーソル株式会社. 2022年4月13日閲覧。

関連項目 編集