組み込み向けリアルタイムOSの基礎知識 ―― プログラムの実行およびコンピュータ資源を管理するOSの種類や機能を整理する
5.リアルタイムOSの提供する機能
リアルタイムOSが提供する機能は品種によってさまざまです.代表的なものを挙げると以下のものがあります.● タスク管理機能
OSはタスクという処理単位の実行を制御する機能を持っています.例えばマルチプログラミング,つまり複数のタスクを同時並行的に動作させる機能を提供します注14.そして,タスクの状態を変えることで実行を開始したり停止したりします.また,スケジューリング規則注15を持ち,それに従ってタスクを切り替えます.
注14;プロセッサが一つの場合は同時に実行できる処理は一つだけだが,高速に切り替えることによって複数が並行的に動いているように見せている.
注15;次にどの処理を実行させるのかを決めるための規則.
● 割り込み管理機能
OSは,実行中の処理を一時中断して別の処理を実行するハードウェアの機構(割り込み)をモデル化し,それに基づいた管理機能を提供します.例えば割り込みが発生したときに,対応する割り込み処理プログラムが起動できるように登録したり,指定した割り込み処理の起動を保留したりする機能を提供します.
● 同期/通信機能
同期/通信機能とは,タスクをある条件によって待たせたり(同期),タスク間注16でデータを受け渡したりするための機能です.OSがタスクやスケジューリングの機能を提供することにより,共有メモリによる単純なデータの受け渡しではタスク間で安全に通信を行うことが難しくなる場合があります.その場合,OSにより同期や通信の機能が提供されます.
注16;割り込み処理プログラムとタスクの間のデータのやりとりを行う場合もある.
● 時間管理機能
リアルタイムOSは,ある処理を一定周期ごとに呼び出して実行したり,処理を一定時間止めておくなど,時間に関係した動作を行うための時間管理機能を備えます.システムに搭載されるタイマ・デバイスの数は限りがありますので,異なる時間要件ごとに異なるタイマを使用することは限界があります.時間管理機能を使うと時間についての要求を少数のタイマを使って処理できます.そういう点では多重化されたタイマの機能を提供していると考えることもできます.