組み込み機器において存在感を増す「組み込みOS」組み込み機器開発入門(6)(3/4 ページ)

» 2015年12月21日 07時00分 公開
[EIPC事務局MONOist]

組み込みOSと汎用OSとの違い

 ここからは、一般のPCに搭載されるWindowsやMacOSなどの汎用OSと、組み込みOSである「TOPPERS」※1や「μiTRON」※2の違いを、比較しながら説明していきます。

 組み込みシステムは「特定用途向けに特化、限定した機能を持ったシステム」、汎用PCは「汎用的にさまざまな目的に利用できる機能をもったシステム」、という違いがあります(関連記事:組み込み機器開発入門(1)組み込み機器とは何か、PCとの対比で考える)

 組み込みシステムでは機能が特化、限定されるため、必要とされる最小限の能力を持ったハードウェアで構成されます。一方、汎用システムでは汎用性を持たせるために、さまざまな利用法、機能を実現するために必要な大きな能力を持ったハードウェアを実装します。

 実装するハードウェアの性質が違うことによって、組み込みOSと汎用OSとではさまざまな違いがあるのです。例えば、組み込みOSでは不要な機能を容易に削除にできますが、汎用OSは想定される機能が全て搭載され、ダウンロードやインストールによる修正や追加が容易にできるようにと考えられています。その他、組み込みOSの中でもリアルタイムOSという種類のOSでは「スケジューラ」が大きな相違点となります。

 スケジューラとは、プログラムの実行する順番を決めて切り替えるソフトウェアです。汎用OSは、細かい時間でプログラムを順番に切り替える事でプログラムが同時実行しているように見せているのですが、リアルタイムOSは今実行中のプログラムが完了する、もしくは今実行中のプログラムより優先順位の高いプログラムが出た場合、即座にプログラムの切り替えを行います。

 この違いにより、リアルタイムOSでは「車が事故にあったとき、エアバッグを開く」といった極めて即時の対応が求められる処理をこなせるのです。汎用OSの場合には、順番が来るまで待たされるため即座の実行ができません。

※1 TOPPERS:TOPPERSプロジェクトから公開されている組込みシステム向けリアルタイムOSおよびソフトウェア部品群

※2 iTRON: TRONプロジェクトが策定・維持している組み込みOS・リアルタイムOSカーネルの仕様

Copyright © ITmedia, Inc. All Rights Reserved.