ディスパッチャとは?でぃすぱっちゃ
ディスパッチャとは、スケジューラが選び出したタスクへ、実際にCPUの実行権を引き渡すRTOSの部分。タスク制御ブロックからレジスタとプログラムカウンタを復元し、そのタスクが中断していた地点から実行を再開させる。「誰を次に走らせるか決める」のがスケジューラ、「実際に走らせる」のがディスパッチャである。
最終更新:2026-10-06
この語が出る過去問を解く →背景
選ぶ処理と引き渡す処理を分けているのは、両者の性質が違うからである。選択は優先度やデッドラインという方針の問題で、製品ごとに方式を差し替えたくなる。引渡しはCPUのレジスタ構成に依存する機械的な処理で、アーキテクチャごとにアセンブラで書かれる。分けておけば、方針の変更が移植部分へ波及しない。
具体例
割込みハンドラの出口で、その割込みによって高優先度のタスクが実行可能になっていればディスパッチが起こる。ハンドラの内側では切り替えず出口まで遅らせる(遅延ディスパッチ)のは、ハンドラ実行中の切替えでスタックの整合が崩れるのを避けるためである。
試験での引っ掛け
スケジューラと役割を入れ替えた選択肢が定番で、「ディスパッチャが優先度を比較して次のタスクを決める」は誤り。決めるのはスケジューラ。またディスパッチが起こる契機は、タスクが待ち状態に入ったとき、より高優先度のタスクが実行可能になったとき、タイムスライスを使い切ったときなどに限られる点も押さえる。
関連用語
出た過去問
出典:令和6年度 秋期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問6(IPA)
プロセスの切替えに関する記述のうち、ディスパッチャの説明として、適切なものはどれか。
正解:主記憶に保存されている選択したプロセスの情報を、CPUにロードしてプロセスを起動する。
要点:ディスパッチャは選ばれたプロセスにCPUを引き渡す
ディスパッチャは、スケジューラが選んだプロセスの実行環境(プログラムカウンタやレジスタなどのコンテキスト)を主記憶からCPUへ復元し、そのプロセスの実行を開始させる役割を担う。「どれを動かすか」を決めるのがスケジューラ、「実際にCPUを明け渡す」のがディスパッチャという分担になる。
出典・参考
高度試験 午前I(高度午前I 相当)のシラバスの2 コンピュータシステム > 1. オペレーティングシステム > (4) タスク管理に掲載されている用語です。
解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。