車載システムにおける高信頼性と電力管理機能の実現 ――ソフトウェアにもフェイル・セーフの考えかたが必須
●OSの起動に時間がかかりすぎる
車載システムにおいて,反応速度,発熱量,電力消費量は重要な項目となっています.
例えばテレマティクス(情報系の車載ネットワーク+車外からの情報ネットワーク)を実現するために,市販のデスクトップ・パソコンを自動車に搭載したとします.しかし,上記の三つの視点から,この判断は明らかに「誤り」と言えます.パソコンの起動には数分かかりますが,その間に自動車はすでに動き出している必要があります.また,ファンによる冷却を必要とするようなシステムは論外です.さらに,パソコンがバッテリを消費することによって,自動車の消費電力設計へ大きな影響が出ます.
ここで,自動車を起動する場面を思い描いてみると,一般に次のように状態が遷移します.
1)キーを挿入
2)電源ON(周辺機器への電源の投入)
3)セル・モータの駆動
4)エンジンの駆動
2)→3)→4)のステップは,ほんの数秒の間に移行します.そして,この流れに車載システムは追従する必要があります.また,車載システムは単独で動作するものではなく,ほかの車載システムにも反応しなくてはなりません.例えば,車載ネットワークの一つであるCAN(controller area network)に接続された機器は,電源投入後,数十msというオーダでネットワークに反応を返すことが求められています.このような要求に対して,一般にOSを含むソフトウェア環境ではカーネルがブートしている途中でこの時間が尽きてしまいます.
OSの起動の流れを図2に示します.どのようなOSであっても,図2の流れに沿って起動します.もちろん,OSによってそれぞれの区間の経過時間は異なります.
〔図2〕 OSのブート・アップの流れ
図の流れに沿ってOSが起動する.例えば,マイクロカーネルOSの場合,カーネルを起動したあとすぐにクリティカルなドライバ,システム・サービス,およびユーザ・アプリケーションを組み合わせて起動する.この後,ゆっくり起動できるドライバやシステム・サービス,ユーザ・アプリケーションを起動する.