ITRONとT-Kernelの移植性を改善へ,年内には成果を発表 ――ITRONオープンセミナー2003
トロン協会は,2003年のITRON仕様検討グループの活動の一つとして,ITRONからT-Engine用OS「T-Kernel」へのアプリケーション・ソフトウェアの移植性を改善するためのワーキング・グループを発足する.これは,6月24日に開かれたITRON仕様に関する最近の活動内容を紹介するセミナ「ITRONの新しい展開 ITRONオープンセミナー2003」において発表された(写真1).
T-Engineとは,ネットワークに接続する携帯情報機器などのシステム仕様やハードウェア仕様を規定する規格である.トロン・プロジェクトの一つとして仕様の策定が進められている.トロン協会はITRONとT-Kernelを競合するものとは言っていないが,開発に携わる企業にとってはITRONとT-Kernelの間の移植性は気になるところ.移植性を検討する「TRONポータビリティ検討ワーキング・グループ」は2003年4月に活動を開始した.技術資料の作成や実践的なプログラムの移植テストを行い,2003年12月に開催されるトロン・プロジェクトのシンポジウム「TRONSHOW2004」にて発表する予定.
ITRON仕様ではリアルタイムOSの仕様が定められているが,ITRON仕様OSの実装方法(ソース・コード)は開発元によって異なっている.そのため,ITRON仕様OSに対応したアプリケーション・ソフトウェアの移植に手間がかかる,それぞれのITRON仕様OSで使えるソフトウェア部品の数が少ないなどの問題があった.また,共通に利用できる標準的なデバイス・ドライバが存在せず,ITRON仕様OSの利用者がそれぞれ制御プログラムを開発する必要があった.今回の活動報告ではそのようなITRONの課題を解決するための方法として,標準デバイス・ドライバ・ガイドラインの策定や,オープン・ソースのITRON仕様OSを公開して開発・保守を行う団体「TOPPERSプロジェクト(NGO法人化申請済み)」の活動などが示された.
●標準デバイス・ドライバのサンプル・コードを今秋公開
トロン協会 ITRON仕様検討グループ 委員でエルミックシステム 執行役員の金田一 勉氏は,同グループが策定を行っているITRONの標準デバイス・ドライバ・ガイドラインについて発表した(写真2).
これまでのITRON仕様OSには,前述のように標準的なデバイス・ドライバが存在しなかった.ITRON仕様OSの利用者がカーネルのAPIを利用して,ハードウェアを制御するプログラム(デバイス・ドライバ)を作成していた.ITRONどうしの互換性がないため,それぞれ個別に開発する必要があった.またデバイスによっては固有のくせがあることや,ほかのCPUに移植する際に書き直す必要があるなど,開発コストが高くなりがちだった.WindowsやLinuxなどの汎用OSでは標準的なデバイス・ドライバが提供されており,OS利用者があらためて開発する必要はない.今回の策定にあたっては,ITRONにおいても汎用OSと同様の利便性を持たせたいと考えたという.
デバイス・ドライバの構造として,OSに依存する処理部分(GDIC:General Device Interface Component)と依存しない処理部分(PDIC:Primitive Device Interface Component)を分け,ほかのOSへの移植が容易な構造にした(写真3).デバイスが異なる場合も,PDICを置き換えることによって移植が容易になる.また,それ以外のCPUやハードウェアに依存する処理部分(SIL:System Interface Layer)を別途規定した.OS側では主にGDIC機能部分を開発し,PDICはデバイス・メーカが,SILはアプリケーション・プログラムの実装者が開発(または設定)することを想定している.
現在は,シリアル・インターフェースとEthernet,ストレージ(ハード・ディスクなど)のGDICのガイドラインを策定中.シリアル・インターフェースについてはガイドラインとサンプル・コードがほぼ完成している.Ethernetとストレージについても開発が終了した時点で公開する.2003年秋の公開を予定している.
●出荷後にモジュールを更新できるITRON仕様OSを開発
トロン協会 ITRON仕様検討グループ 幹事で名古屋大学大学院 情報科学研究科 教授の高田広章氏とエーアイコーポレーションは,製品出荷後にサーバからモジュールを更新できる機能(IDL:ITRON with Dynamic Loading)を持つOSの開発状況について発表した(写真4).このOSは2003年2月に開発を完了しており,近日中(年内)にソース・コードなどの大部分を無償で公開するという.ライセンス方式については,使用したことを報告する「レポートウェア」とする予定.
モジュール更新のしくみは以下のようになる(写真5).同OS(クライアント)から,ネットワーク上のダウンロード用のサーバ(今回の開発ではLinuxを想定)に対して,入手したいモジュールのIDやバージョン番号を指定し,あわせてクライアントのメモリ・マップ情報も送信する.サーバは入手した情報を基に,空いているメモリ・マップを見つけてアドレス解決を行い,生成したロード・モジュールを返す.クライアントは受信したモジュールを自身に組み込む.
本開発のポイントは,新しいモジュールのアドレス解決を行う機能(リンク機能)をサーバ側に配置したことにある.なお,セキュリティについては,本開発ではクライアントが信頼できるサーバにアクセスすることを前提としており,ネットワークが持つ各種のセキュリティ機能を利用することになる.
●トロン協会が組み込み技術者向けの教科書を作成
トロン協会 トロン教育・普及グループ 主査で東京大学情報基盤センター YRPユビキタスネットワーキング研究所の越塚 登氏は,組み込みソフトウェアの初心者向け教科書の作成について発表を行った(写真6).教科書の読者対象は「物理学科・機械工学科など,コンピュータ・サイエンス以外の分野を専攻してきた理系の新入社員」.C言語によるプログラミング経験やOSの基本的な知識があることを想定している.
現在,組み込みソフトウェアを開発している大手企業では,新入社員研修の一環として組み込みシステムやリアルタイム・システムについての研修を行っている.基本的な部分のカリキュラムは,これらとほぼ同様.同グループでは,この基本的な研修の部分を代替できる教科書やセミナを提供していく.
教科書執筆にあたっては,特定のプロセッサや製品には依存しないような内容とした.ただしリアルタイムOSについては,ITRONの構造に沿った説明になっている.また,セミナ教材としても使えるように,スライド形式の資料として作成し,それぞれのスライドに説明をつけた.
作成した教科書は,基本的にはトロン協会(および会員各社)が開催するセミナの教材として使用する.現在,第1回目のセミナを2003年7月23日に茨城県ひたちなか市で行う予定.同グループの成果物(教科書のディジタル・データも含む)は,まとまりしだいトロン協会のホームページで公開するという.