FE EXAM

リアルタイムOS(RTOS)

処理の応答時間が保証されることを重視した組込み向けオペレーティングシステム。

DIAGRAM
高優先度中優先度低優先度
優先度の高いタスクを先に実行し、締め切りを守る時間 →低優先タスク続き(再開)高優先タスク中優先タスク高優先タスク発生 → 即切替締め切り(デッドライン)締め切り内に完了 ✓
解説

📌
RTOSとは

「いつ終わるか」を約束するOS応答時間を保証締め切り内に完了 ✓

リアルタイムOS(RTOS)とは、処理の応答時間(=処理が終わるまでの時間)が決められた範囲内に収まることを保証することを最優先に作られたOSです。OS(=オペレーティングシステム。機器の中で処理の順番や資源を管理する基本ソフト)の一種で、おもに組込み機器に使われます。

ポイントは「速い」ことではなく「決められた時間内に必ず終わる」ことです。たとえば自動車のエアバッグは、衝突を検知してから定められたごくわずかな時間内に必ず開かなければ意味がありません。たまに速くてもときどき遅れるOSでは命に関わるため、RTOSが使われます。

身近な例で考えると、時間厳守の特急電車に似ています。普通電車(一般OS)は多くの駅に止まって全体の輸送量を稼ぎますが、特急(RTOS)は「何時何分に必ず着く」という時間の約束を最優先します。上の図解で、締め切りまでに処理が完了する様子を見てみましょう。

📌
応答時間保証の仕組み

低優先タスク実行中割り込み高優先タスクへ切替優先度で即座に切り替える(プリエンプション)

RTOSが応答時間を保証するために、おもに次のような仕組みを使います。


優先度(プライオリティ):各タスク(=処理の単位)に重要度を表す番号を付けます。RTOSは優先度の高いタスクを先に実行します。
プリエンプション(横取り):低優先度のタスクを実行中でも、より高優先度のタスクが来たら実行を一時中断してすぐに切り替えます。後で中断した処理を再開します。
応答時間の見積もり:最も時間がかかる場合でも締め切りに間に合うよう、あらかじめ処理時間を計算して設計します。

身近な例で考えると、救急外来の対応に似ています。受付順(到着順)ではなく、命に関わる重症患者(高優先度)が来たら、軽症患者の対応を一旦止めてでも先に処置します。これによって「最も急ぐ処理が必ず時間内に終わる」ことを保証しています。

📌
一般OSとの違い

一般OS全体の処理量・使いやすさ重視RTOS応答時間の保証を重視

パソコンやスマートフォンで使われる一般的なOS(WindowsやmacOS、Androidなど)と、RTOSでは目指す方向が違います。

観点RTOS一般OS
最優先すること応答時間の保証(締め切り厳守)全体の処理量・使いやすさ
処理の遅れ許されない(重大な問題に)多少の遅れは許容される
主な用途組込み機器・制御機器パソコン・スマホ
規模小さく軽い大きく多機能

一般OSは多くの処理を平均的に効率よくさばく(スループット重視)のが得意で、たまに少しもたついても大きな問題にはなりません。一方RTOSは「最悪でもこの時間までに終わる」を約束することが最重要で、たとえ平均速度が劣っても締め切りを守ることを優先します。代表的なRTOSには TRON 系(μITRON)や FreeRTOS などがあります。

練習問題
Q1リアルタイムOS(RTOS)の最大の特徴はどれか。
Q2RTOSが応答時間を保証するための仕組みとして適切なものはどれか。
Q3RTOSと一般的なOS(パソコン用OSなど)の違いとして適切なものはどれか。

関連コンテンツ