車載システムにおける高信頼性と電力管理機能の実現 ――ソフトウェアにもフェイル・セーフの考えかたが必須

岡澤幸一

tag: 組み込み

技術解説 2004年1月15日

2 ソフトウェアの高信頼性を実現する

 では,上述の高信頼性を実現するための具体的なOSやアプリケーションを紹介しましょう.

●異常の種類に応じて適切な復旧作業を選択する

 システムの異常を簡単に分類すると,OSで検知可能な異常(物理的レベルの異常)とアプリケーション・レベルで検知する異常(ソフトウェア検知の異常)に分けることができます(表2).OSで検知する異常については,OSのトラップ機構を用いることによって検知が可能です.一方,ソフトウェアで検知するタイプの異常では,アプリケーション・レベルで検知ロジックを組み込む必要があります.

 OS検知の異常とソフトウェア検知の異常がそれぞれ発生した場合,異常からの具体的な復旧が必要となります.この復旧のためのプログラムをアプリケーションに組み込む場合,アプリケーション自身が走行しなくなってしまうOS検知のような状態では意味をなしません.そこで,図4のように異常の監視や復旧を行うためのマネージャを置く方法がもっとも適しています.

 異常からの復旧でもっとも単純な方法は,ウォッチドッグ・タイマなどによってシステムにハードウェア・リセットを与えることであると前述しました.また,この場合のシステム要件は,復旧にかかる時間であることも述べました.ソフトウェアとしてこの復旧作業を考えたとき,サービスのみの再起動,さらにはサービスの多重化による復旧が考えられます.この場合,現実的には2重化が妥当であり,それ以上の多重化はシステムが複雑になってしまうため得策とは言えません.

〔表2〕システムの異常

OS検知の異常
ソフトウェア検知の異常
  • メモリ不正アクセス  
    MMU(memory management unit)により検知されるアクセス・エラー
  • バス・アクセス異常  
    バス経由のアクセス時のタイミングなどの異常
  • ハードウェア駆動シーケンスの異常
  • ソフトウェア・アルゴリズム・ シーケンスの異常
  • ユーザ定義の異常

f04_01.gif
〔図4〕アプリケーション・レベルの異常からの復旧
OS検知の異常とソフトウェア検知の異常がそれぞれ発生した場合を考えると,異常の監視や復旧を行うためのマネージャを置く方法が適している.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日