2000年11月15日
豊橋技術科学大学 情報工学系
組込みリアルタイムシステム研究室
豊橋技術科学大学 情報工学系 組込みリアルタイムシステム研究室(高田研究室)は、組込みシステム用リアルタイムOSの業界標準であるμITRON4.0仕様に準拠したリアルタイムOS「TOPPERS/JSPカーネル」を、フリーソフトウェアとしてリリースします。
また、11月15日(水)〜17日(金)に東京ビッグサイトにおいて開催されるMST2000(主催: 日本システムハウス協会)のユニバーシティバビリオンにおいて、「TOPPERS/JSPカーネル」を紹介する展示を行います(ブース番号: U-10)。ご来場の節は、是非お立ち寄りください。
TOPPERS/JSPカーネルは、当研究室において開発したμITRON4.0仕様に準拠したリアルタイムカーネルで、組込みリアルタイムシステム構築の基盤となるソフトウェアの開発を行うことを目的としたTOPPERSプロジェクト(TOPPERSは "Toyohashi OPen Platform for Embedded Real-time Systems" の略称)の最初の開発成果です。JSPは "Just Standard Profile" の略称であり、TOPPERS/JSPカーネルは、その名前が示す通り、μITRON4.0仕様のスタンダードプロファイル規定に従って実装されています。
TOPPERS/JSPカーネルは、オープンソースのソフトウェアであり、ユーザの利用目的に応じてカーネル内部を自由に改造することができます。ターゲットプロセッサとして、現時点では、モトローラ社の68040と日立製作所のSH3をサポートしています。また、LinuxおよびWindows上で動作させるためのシミュレーション環境を用意しています。
TOPPERS/JSPカーネルは、当研究室をはじめとする研究・教育機関における研究・教育への利用と、μITRON4.0仕様の評価を一義的な目的として開発したものですが、その設計にあたっては、産業界での応用に堪える性能が実現できるよう配慮しました。
また、μITRON仕様OS用のソフトウェア部品(ミドルウェア)開発のための標準プラットフォームや、μITRON仕様OSを独自に実装する方のための参考となる実装(リファレンス実装)として利用していただくことも想定しています。
TOPPERS/JSPカーネルの主な特徴は、次の通りです。
研究・教育への利用が一義的な開発目的であることから、ソースコードの読みやすさや改造しやすさに重点を置いて実装しました。ただし、安易な読みやすさを追求して、効率の悪い平易なアルゴリズムを採用することはしていません。むしろ、タイムイベントの管理にヒープ構造を用いるなど、複雑であっても効率的なアルゴリズムは積極的に採用しました。
TOPPERS/JSPカーネルは、GCCなどのGNU開発環境を、標準のソフトウェア開発環境としています。そのためユーザは、カーネル本体のみならず開発環境もフリーで入手し、システム開発をおこなうことが可能です。
TOPPERS/JSPカーネルを、LinuxおよびWindows上の動作させるためのシミュレーション環境を用意しました。これらのシミュレーション環境は、LinuxおよびWindowsの一つのプロセスの中で複数のタスクを切り替えて動作させるもので、組込みシステムのプロトタイプ開発やロジックレベルでの検証、リアルタイムOSの学習用途などに最適なものです。
カーネルのできる限り多くの部分をC言語で記述する、ターゲット独立部とターゲット依存部を明確に分離するなど、他のターゲットプロセッサやシステムへのポーティングが容易な構造となっています。
大部分がC言語で記述されているカーネルとしては、高い実行性能と小さいRAM使用量を実現しました。典型的なケースでのタスク切替え時間は、SH3で約2μ秒となっています(SH7709, 内部クロック: 80MHz, 外部クロック: 40MHz, メモリ: 1アイドル&2ウェイトサイクル, ライトスルーキャッシュON時)。また、タスク一つあたりのタスク制御ブロックのサイズは、32バイトです(この他にスタック領域が必要)。
TOPPERS/JSPカーネルはフリーソフトウェアですが、組込みシステムの特性を考慮して、フリーソフトウェアの中でも特に柔軟な利用条件を設定しました。フリーソフトウェアの利用条件としては、Linuxなど多くのフリーソフトウェアが採用しているGNU Public License(GPL)が有名ですが、改造を加えた場合にはそのソースコードを公開する義務があるなど、機器への組込み用途には条件が厳しすぎると言われています。また、BSD UNIX(バークレー版UNIX)などが採用する利用条件は、GPLよりは柔軟であるものの、利用者マニュアルなどに著作権表示や無保証表示をせねばならず、機器メーカーには抵抗のあるものでした。
そこでTOPPERS/JSPカーネルに対しては、著作者へ報告することなどを条件に、著作権表示や無保証表示の省略を許す、より柔軟な利用条件を設定することにしました。これにより、利用条件の面でも産業界での応用に堪えるものと考えています。
当研究室では、これまで、東京大学 坂村研究室で開発されたμITRON3.0仕様のリアルタイムOSであるItIs(ITRON Implementation by Sakamura Lab.)の改良・拡張を行ってきました。新たに策定されたμITRON4.0仕様に対応するにあたり、ItIsを改造して対応する方法も検討しましたが、ItIsの開発経験を踏まえた上で、新しいリアルタイムOSを最初から設計・実装しなおした方がより良いものになると判断しました。こうして実装されたのが、TOPPERS/JSPカーネルです。なお、TOPPERS/JSPカーネルのリリースにより、当研究室でのItIsの開発作業は終了とします。
TOPPERS/JSPカーネルは、現時点ではまだ完成度の低い部分が残っていますが、今後とも、完成度を上げる作業を進めるとともに、他のプロセッサへのポーティングやシミュレーション環境の充実など、その適用性を広げるための改良や拡張を行っていく予定です。また、TOPPERS/JSPカーネルを題材にした教材の開発にも力を入れていきたいと考えています。
TOPPERSプロジェクトでは、当研究室を中心に、プロジェクトへの参加を希望する組織の協力を得て、組込みリアルタイムシステム構築の基盤となる各種のフリーソフトウェアの開発に取り組んでいく計画です。すでに、宮城県産業技術総合センターなど、複数の研究機関や大学が、TOPPERSプロジェクトへの参加を検討しています。具体的には、当研究室の研究成果やITRONプロジェクトなどにおける標準化成果を取り入れたソフトウェアを、積極的に開発していきたいと考えています。例えば、TOPPERS/JSPカーネルをサポートするデバッグ環境を、ITRONデバッギングインタフェース仕様に準拠して実装作業中です。
さらに、TOPPERS/JSPカーネル上で動作するソフトウェア部品(ミドルウェア)を開発・販売する企業や、TOPPERSプロジェクトの開発成果に対するサポートビジネスを行う企業が出てくることを期待しています。
TOPPEPS/JSPカーネルのソースコードは、以下のウェブサイトからダウンロードすることができます。
http://www.ertl.ics.tut.ac.jp/TOPPERS/
また、本発表に関するお問い合わせ先は次の通りです。
豊橋技術科学大学 情報工学系
高田 広章
Email: hiro@ertl.ics.tut.ac.jp
FAX: 0532-44-6781
μITRON仕様は、(社)トロン協会 ITRON部会によって策定された組込みシステム用のリアルタイムOS仕様です。μITRON4.0仕様は、μITRON仕様の最新バージョンで、1999年6月に公開されました。トロン協会の最新の調査結果によると、最近開発された組込みシステムの3分の1以上にμITRON仕様に準拠したリアルタイムOSが使用されており、μITRON仕様はこの分野の業界標準となっています。とりわけ、通信端末、家電機器、AV機器、個人用情報機器といったコンシューマ機器分野においてμITRON仕様OSの使用率が高く、近年の電子機器産業の発展を支える技術の一つとなっています。
ITRONプロジェクトならびにμITRON仕様の詳細については、以下のITRONプロジェクトホームページを参照ください。
http://www.itron.gr.jp/