OSに求められる高い信頼
このところデジタル家電の普及が目覚しい。テレビなどは以前とは比べられないほど高機能化し、もはやOSによる制御が当たり前となっている。また、自動車においても電子制御化が急速に進んでいる。かつては機械としての要素が強かった自動車には、ECU(電子制御ユニット)が搭載されるようになった。さらに現在では、高級車を中心にOSを使ったものも販売されている。これ以外にも、航空機や医療機器など、さまざまな機器でOSの採用は進んでいる。
こうした状況の中で、OSの安定性や信頼性がますます重要視されている。なぜならば、それが製品の信頼性に直結するからだ。とくに自動車や飛行機、医療機器などは、OSの不具合が人命に関わりかねない。このような分野においては、バグなどは決して許されない。
「INTEGRITY」は、こういった航空・宇宙・防衛・自動車など、もっとも厳しい品質が要求される分野で採用されている商用リアルタイムOSのひとつである。米Green Hills Softwareが開発したもので、非常に高い安定性・信頼性を誇っている。INTEGRITYについて、日本国内での販売とサポートを担当するアドバンスド・データ・コントロールズ(ADaC)の福富寛氏に話を聞いた。
アドバンスド・データ・コントロールズの福富寛氏 |
"安全・安心"なリアルタイムOS「INTEGRITY」
「INTEGRITYは"安全・安心"を軸に開発したOS。世の中には、動作保証が曖昧なRTOSもあるが、INTEGRITYは動作も性能も、そしてソフトウェアの著作権についても開発元がきちんと保証する」と福富氏は語る。それでは、"安全・安心"なシステムを提供するINTEGRITYとは、どのようなRTOSなのだろうか。
最小値と最悪値
RTOSとは、タスクが応答するまでの最大時間(最悪値)を保証できるOS、つまり"時間に正確なOS"のことである。INTEGRITYの場合、最良値(タスクが応答するまでの最小時間)と最悪値の幅をほぼゼロにしており、ユーザが正確に基本タスク設計を行えるようにしている。また、安定性を確保するための機能も備えている。
メモリ保護 - カーネル領域とユーザ領域が独立
まずINTEGRITYはカーネルを保護するため、メモリがカーネル領域とユーザ領域に分かれている。また、カーネルが動的にメモリを追加利用することはない。そのため、ユーザプログラムにメモリリークのようなバグがあった場合でも、カーネル自体が影響を受けることがない。つまり、何らかの不具合が起きたとしてもカーネルは動作し続けるため、システムが停止することはないのだ。
タスクグループを独立化
さらに、関係するタスク同士を仮想メモリ上(アドレス空間)でグループ化することで、タスクグループの単位でも独立性を高めている。あるタスクグループの中で起きた遅延や問題がほかのタスクの遅延や問題までも引き起こすというような事態を回避できる。
独自のスケジューラを用意
そのほか、アドレス空間に対して割り当てるCPU時間を保障することができる仕組みを備えた独自のスケジューラ「パーティションスケジューラ」を搭載しているため、システムの安定性が高い。仮に、あるアドレス空間にウィルスなど悪意あるコードが入り込んだとしても、ほかのアドレス空間にあるタスクが影響を受けることがなく、システムが暴走するなど最悪の事態を防ぐことができる。つまり、INTEGRITYを採用すれば、ネットワーク化が進むデジタル家電などにとっても非常に安全性が高く、ユーザが安心して使えるシステムを設計できる。
デバッグも重視
大規模なソフトウェア開発工程において、デバッグが占める割り合いは大きい。INTEGRITYの場合、開発元であるGreen Hills Softwareはデバッガの開発までも一貫して行い、効率的な開発環境を提供している。
デジタル家電にも信頼性の高いRTOSは必要
福富氏は「こうしたRTOSは何も飛行機や自動車、医療機器のためだけのものではない。テレビなどのデジタル家電にも必要」と語る。デジタル家電は人命には関わらないが、ユーザ(顧客)にとってはつねに安定して動くことが必須だからだ。
デジタル家電の中には、OSに非RTOSであるLinuxなどを搭載しているものも多い。非RTOSの場合、平均的な応答時間の向上を重要視しており、特定のタスクに対する応答時間はあまり問題にしてない。例えば、ボタンを押してから機器が応答するまでの時間は保障されない。つまり、システムの応答が一定していないのだ。これはユーザインタフェースの観点からは良いとはいえない。
スイッチを押してから応答するまでに長い時間が掛かったり、バグにより複数の操作を行うとフリーズするような機器は、ユーザをイライラさせ、信頼性の低下を招く。こういった事態を防ぐためにも、信頼性の高いRTOSが必要なのだ。
「無償のOSや独自開発のOSを使うのも悪くはない。しかし、こういったものは独自に信頼性を保証しなければならない。また、OSのバグなのかアプリケーションのバグなのか、はっきりしないトラブルにも悩まされかねない。その点、商用のRTOSならメーカが保証してくれるので安心。信頼性の保証にかけるコストや時間が少なくて済むので、結局は無償のOSを使った場合とコストに差がない場合もある」と福富氏は商用OSのメリットについて語る。無償のOSは初期導入費用は安い。しかし開発費用全体でみた場合、それなりに高くつくこともあるのだ。
限られた開発費や開発時間を有効に使いたいのであれば、INTEGRITYを選択するのもひとつの手段である。
(マイコミジャーナル広告企画)
[PR]提供: