リアルタイムOSとは?りあるたいむおーえす
リアルタイムOSとは、処理の締切を守れることを最優先に、応答時間の上限を見積れるよう設計されたOS。優先度ベースのプリエンプティブスケジューリング、短く上限の決まったコンテキストスイッチ時間と割込み禁止区間、タスク間同期・通信オブジェクトを備える。ハードリアルタイムでは、最悪応答時間が仕様を満たすことを設計段階で示せることが採否の条件になる。
最終更新:2026-10-06
この語が出る過去問を解く →背景
汎用OSは平均スループットと公平性のために作られており、いつ・どれだけ待たされるかの上限を約束しない。エアバッグの展開やモータの電流制御のように、遅れがそのまま事故になる処理では、この不確定さが許されない。最悪値を見積れる形へスケジューリングと排他制御を組み直したのがRTOSである。ESのシラバスはリアルタイムOSの選定を独立した節に立てており、選んだ理由を書けることまで求めている。
具体例
TOPPERS/ASPなどITRON系はタスク・セマフォ・イベントフラグ・周期ハンドラを提供する。車載ではAUTOSAR OS(OSEK/VDX系)が固定優先度とタスクの静的定義を前提とし、ZephyrやFreeRTOSはIoT機器で通信スタックとともに使われる。
試験での引っ掛け
RTOSは速いOSではなく時間が読めるOS。平均スループットは汎用OSの方が高いこともある。優先度を付けただけでは締切は守れず、レートモノトニックなどで負荷率と最悪応答時間を検算する必要がある。優先度逆転もRTOSを使えば消えるのではなく、優先度継承を明示的に使って初めて抑えられる。
関連用語
出た過去問
問題文で直接問われたものと、解説の中で触れられたものが含まれます。
出典:平成28年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問7(IPA)解説で登場
リアルタイムシステムにおいて、アプリケーションタスクの要求によって入出力を行うデバイスドライバのタスク部が、要求された処理が完了したときに行う通知処理はどれか。
正解:イベントフラグを使って入出力要求元のタスクに入出力完了を通知する。
要点:完了通知はOSでなく要求元タスクへ同期機能で行う
デバイスドライバのタスク部は、割込みハンドラから処理完了を受け取ったあと、その事実を要求元のアプリケーションタスクへ知らせる必要がある。リアルタイムOSではイベントフラグやセマフォといった同期機能を使い、完了を待って待ち状態になっているタスクを実行可能状態へ戻す。通知の相手はOSやハードウェアではなく、あくまで待っているタスクである。
出典:平成28年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問9(IPA)
リアルタイムOSを用いたシステムにおいて、タスクAの優先度が最も低いとする。実行状態又は実行可能状態であるタスクがタスクAだけであるとき、電力の消費を抑えるため…
正解:休止命令を実行して割込みを待つ。
要点:アイドル時は休止命令で割込み待ちにして省電力化する
他に走らせるべきタスクがないとき、最低優先度のタスクが空ループを回し続けると、プロセッサが全力で動き続けて電力を無駄に消費する。この場合は休止(低消費電力)命令を実行してプロセッサを止め、割込みが入ったら復帰する形にすればよい。割込みで復帰できるので応答性を損なわずに消費電力だけ下げられる。
出典:平成28年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問10(IPA)
リアルタイムOSにおいて、タスクA〜Eの発生時刻、処理時間及び優先度が次のように定められている場合、タスクCの終了時刻はタスクAが発生してから何ミリ秒後となるか…
正解:35
要点:高優先度タスクの発生ごとに実行が中断され完了が遅れる
優先度に基づくプリエンプティブなスケジューリングでは、より優先度の高いタスクが発生した時点で実行中のタスクが中断される。Cは自分より高いBの処理が終わってから開始し、途中で最優先のEが発生した時点で中断され、Eの処理が終わってから残りを実行する。合計すると、Cが完了するのはAの発生から35ミリ秒後になる。
出典:平成30年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問9(IPA)
リアルタイムOSで用いられる、タスクがデッドラインを必ず守るデッドラインスケジューリングでは、周期タスクを図のように次の四つのパラメタr, C, D, T(0<…
正解:タスクX: C=1, D=2/タスクY: C=2, D=4
要点:周期タスクはC/Dの総和が1以下でなければ成立しない
r=0かつD=Tなので各タスクの周期はデッドラインに等しく、CPU使用率はC/Dの和で見積もれる。使用率が1を超える組合せはどう並べてもデッドラインを守れないため除外され、残るのはX:C=1,D=2とY:C=2,D=4の組合せ(1/2+2/4=1)である。実際、優先度の高いXが各周期の先頭で1単位実行し、残りの時間でYが2単位を確保できるので、周期4の中で両方が間に合う。
出典:平成30年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問10(IPA)
優先度に基づくプリエンプティブなスケジューリングを行うリアルタイムOSにおいて、タスクの優先度逆転が発生する可能性があるのはどれか。
正解:排他制御
要点:優先度逆転は排他制御による資源待ちで発生する
優先度逆転は、低優先度タスクが共有資源のロック(排他制御)を保持したまま中優先度タスクにプリエンプトされ、その資源を待つ高優先度タスクが長時間ブロックされる現象である。つまり資源の排他制御がある場面でのみ起こる。対策としては優先度継承や優先度上限(プライオリティシーリング)プロトコルが使われる。
出典・参考
公式シラバスの3 機能仕様を満足させるシステムアーキテクチャ及びハードウェアとソフトウェアの要求仕様の策定 > 3-8 リアルタイムOS の選定に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。