処理の応答時間が保証されることを重視した組込み向けオペレーティングシステム。
リアルタイムOS(RTOS)とは、処理の応答時間(=処理が終わるまでの時間)が決められた範囲内に収まることを保証することを最優先に作られたOSです。OS(=オペレーティングシステム。機器の中で処理の順番や資源を管理する基本ソフト)の一種で、おもに組込み機器に使われます。
ポイントは「速い」ことではなく「決められた時間内に必ず終わる」ことです。たとえば自動車のエアバッグは、衝突を検知してから定められたごくわずかな時間内に必ず開かなければ意味がありません。たまに速くてもときどき遅れるOSでは命に関わるため、RTOSが使われます。
身近な例で考えると、時間厳守の特急電車に似ています。普通電車(一般OS)は多くの駅に止まって全体の輸送量を稼ぎますが、特急(RTOS)は「何時何分に必ず着く」という時間の約束を最優先します。上の図解で、締め切りまでに処理が完了する様子を見てみましょう。
RTOSが応答時間を保証するために、おもに次のような仕組みを使います。
・優先度(プライオリティ):各タスク(=処理の単位)に重要度を表す番号を付けます。RTOSは優先度の高いタスクを先に実行します。
・プリエンプション(横取り):低優先度のタスクを実行中でも、より高優先度のタスクが来たら実行を一時中断してすぐに切り替えます。後で中断した処理を再開します。
・応答時間の見積もり:最も時間がかかる場合でも締め切りに間に合うよう、あらかじめ処理時間を計算して設計します。
身近な例で考えると、救急外来の対応に似ています。受付順(到着順)ではなく、命に関わる重症患者(高優先度)が来たら、軽症患者の対応を一旦止めてでも先に処置します。これによって「最も急ぐ処理が必ず時間内に終わる」ことを保証しています。
パソコンやスマートフォンで使われる一般的なOS(WindowsやmacOS、Androidなど)と、RTOSでは目指す方向が違います。
| 観点 | RTOS | 一般OS |
|---|---|---|
| 最優先すること | 応答時間の保証(締め切り厳守) | 全体の処理量・使いやすさ |
| 処理の遅れ | 許されない(重大な問題に) | 多少の遅れは許容される |
| 主な用途 | 組込み機器・制御機器 | パソコン・スマホ |
| 規模 | 小さく軽い | 大きく多機能 |
一般OSは多くの処理を平均的に効率よくさばく(スループット重視)のが得意で、たまに少しもたついても大きな問題にはなりません。一方RTOSは「最悪でもこの時間までに終わる」を約束することが最重要で、たとえ平均速度が劣っても締め切りを守ることを優先します。代表的なRTOSには TRON 系(μITRON)や FreeRTOS などがあります。