リアルタイムOSとタスク(real-time OS / task)

分類
テクノロジ系 ソフトウェア
出る試験
基本情報応用情報
重要度
★★★☆☆

決められた時間内に処理を終えることを重く見るOS。切り替えて動かす処理の単位をタスクと呼ぶ。

もう少し詳しい説明

リアルタイムOSが重く見ること

リアルタイムOSパソコン向けのOS
重く見ること期限までに終わること全体で多くの仕事を片付けること
切り替えにかかる時間短く、ばらつきが小さい平均は速いが、ときどき大きく遅れる
優先度の扱い高いものを必ず先に動かす公平に分け合う
大きさ小さい大きい

「速い」とは少し違います。 平均が速いことよりも、遅れが決まった範囲に収まることを重く見ます。

性質言い換え
平均が速いふだんは速い。ときどき大きく遅れるかもしれない
期限を守るふだんの速さは普通でも、遅れの上限が決まっている

機械を動かす場面では、後者が要ります。 100回のうち1回でも遅れると、動きがずれます。

タスク

リアルタイムOSが切り替えながら動かす、処理の単位です。

用語使われる場所
タスクリアルタイムOSで多く使う言い方
プロセス・スレッドパソコンやサーバ向けのOSで使う言い方

考え方はプロセスとスレッドに近い形です。 同じものを別の言葉で呼んでいる場面もあります。

タスクの状態

状態中身
実行状態いまCPUを使っている
実行可能状態動く用意はできているが、CPUが空いていない
待ち状態何かを待っている(時間、通知、センサーの値)
待ち状態 ──通知が来た──→ 実行可能状態 ──CPUが空いた──→ 実行状態
                              ↑                          │
                              └────優先度の高いものに譲った─┘

待ち状態から、いきなり実行状態にはなりません。 実行可能状態を経ます(プロセスの状態遷移のページで扱っています)。

優先度と切り替え

方式中身
優先度に基づく方式実行可能なタスクのうち、優先度が最も高いものを動かす
プリエンプティブ動いている途中でも、より優先度の高いタスクが来たら取り上げる
ノンプリエンプティブ動いているタスクが自分で譲るまで、取り上げない

リアルタイムOSは、取り上げる方式が基本です。 取り上げないと、優先度の高い処理が待たされます。

優先度を決めるときの考え方

優先度当てる処理
高い期限が厳しいもの(例:モーターの制御、安全に関わる判定)
中くらい定期的に測るもの(例:センサーの読み取り)
低い急がないもの(例:記録の保存、外への送信)

期限が短いものを高くします。 処理が重いかどうかではありません。

タスクどうしの連絡

仕組み中身
通知(イベント)あるタスクが別のタスクに「これをしてほしい」と伝える
メッセージキュー送りたい内容を並べて渡す。受ける側が順に取り出す
セマフォ同じ資源を同時に使わないようにする印(セマフォ)
排他制御同時に触ると壊れる部分を、1つのタスクだけに使わせる

どのタスクが、どのタスクに通知するかを図にすると、動きが追えます。 午後の問題では、これがそのまま設問になります。

優先度の逆転

優先度の低いタスクが資源を握っていると、高いタスクが待たされます。

段階起きること
1優先度の低いタスクが、共有する資源を使い始める
2優先度の高いタスクが、その資源を使おうとして待つ
3その間、中くらいのタスクが動いてしまう

結果として、高いタスクが中くらいのタスクより後になります。 これを優先度の逆転と呼びます。資源を握っている間だけ優先度を上げる、という対処があります。

試験ではこう出る

科目A(旧・午前)では、リアルタイムOSが重く見ることが問われます。期限を守る、という部分が答えの軸です。

タスクの状態遷移も出ます。待ち状態から実行可能状態を経る、という順序です。

午後や応用情報(組込みシステム開発)では、タスクの表の空欄を埋める形で出ます。優先度の高さの理由、どのタスクが通知するか、という設問です。

表を読むときは、通知の向きを矢印で書き出してください。 誰が誰に伝えるかを紙に写すと、空欄が埋まります。

関連する用語

プロセスとスレッド
同じく実行の単位。タスクの考え方はこれに近い
プロセスの状態遷移
実行中・実行可能・待ちの移り変わり。タスクも同じ形で動く
割込み
外からの合図で処理を切り替える仕組み
セマフォ
タスクどうしが同じ資源を取り合わないようにする仕組み
組込みシステム
リアルタイムOSが使われる場所

ミニクイズ

リアルタイムOSが、一般的なパソコン向けのOSと比べて重く見る点はどれか。

正解は 3番:決められた期限までに処理が終わることを保証しやすい作りであること

リアルタイムOSは、期限までに処理が終わることを重く見ます。優先度の高いタスクへの切り替えにかかる時間を短く、ばらつきを小さく保つ作りになっています。単位時間当たりの処理量を多くすることや、多数のアプリを同時に動かすことは汎用のOSが重く見る点です。画面の美しさや操作の分かりやすさも、組込み向けのOSで最優先になるものではありません。

間違えた用語の復習リストを見る →

この分野をまとめて解く → システム構成要素とソフトウェアのミニテスト(全28問)

最終更新:2026-11-09