組み込み向けリアルタイムOSの基礎知識 ―― プログラムの実行およびコンピュータ資源を管理するOSの種類や機能を整理する
最近の組み込みシステムでは,ハードウェアとアプリケーション・ソフトウェアの間に位置づけられるOSを使うことが多くなってきている.ここでは,組み込みシステムでよく使われるリアルタイムOSについて,ハードウェアの開発者にも知っておいてほしい基礎的な事柄を解説する.(編集部)
「組み込みシステム」はさまざまな表現で定義されています.ここでは各種の機器に組み込まれて,その制御を行うコンピュータ・システムとします.つまり組み込みシステムとは,日常皆さんが使うパソコンと同じ原理で動作する一種のコンピュータ・システムのことです.
動作原理こそ同じですが,組み込みシステムは特定の目的に特化されるという点に特徴があります.従ってシステムの設計段階で必要のないものは削られ,必要とされるものは追加されていく傾向にあります.
例えばディジタル・スチル・カメラには専用の撮像素子や光学系が,自動改札機には磁気カードやICカードを処理するためのセンサや駆動系モータなどが搭載されています(1).逆にパソコンで見かけるキーボードやマウスなどは必要がないため省かれています.このように組み込みシステムとは,パソコンのような汎用目的のコンピュータと比較して,より目的志向の強いコンピュータ・システムであるとも表現できます.
組み込みシステムはコンピュータ・システムであるため,動作にはソフトウェアが必要です.組み込みシステム上で動作するプログラムは組み込みソフトウェアと呼ばれます.前置きが長くなりましたがここでは,組み込みシステム向けのオペレーティング・システム(OS)の概要を紹介します.
1.JISによるOSの定義
OSは日本工業規格(JIS)によると,次のように定義されています(2).注1;開発環境やユーザ・インターフェースもOSの一部だとする定義もあるが,ここではOSの核となる機能だけに注目し,それらは含めなかった.
図1に示すようにアプリケーション・プログラムというシステム固有の処理を行う複数のプログラムとハードウェアとの間に位置づけられ,アプリケーション・プログラムにさまざまなサービスを提供します.
OSはハードウェアとアプリケーション・ソフトウェアとの間に位置している.しかし,WindowsやLinuxなど汎用目的のOSと組み込みシステムのOSとでは,その内容や構成が若干異なる.前者はハードウェアの詳細をほぼ隠ぺいしているが,組み込みシステムはアプリケーション・ソフトウェアから直接ハードウェアを制御する場合が多い(例外もある).