Skip to the content.

最終更新日:2026年7月25日

まず結論

タスクのディスパッチとは、実行可能状態のタスクに、プロセッサの使用権を割り当てることです。

基本情報技術者試験では、次のように切り分けると判断しやすくなります。

用語 ざっくり意味 判断の合図
スケジューリング 次に実行するタスクを決める 実行順序、優先順位
ディスパッチ 選ばれたタスクへCPUを割り当てる CPU使用権、プロセッサ割当て
TCB タスクの管理情報 タスクID、優先度、状態、コンテキスト
マルチタスク 複数タスクを同時実行のように見せる 複数タスク、並行処理

特に、CPUを割り当てるプロセッサの使用権を与える という説明が出たら、ディスパッチを疑います。

直感的な説明

タスクのディスパッチは、1つしかない作業席を、次の作業者に渡すイメージです。

CPUを「作業席」と考えてみます。

作業したいタスクが複数あっても、1つのCPUでは、同じ瞬間に実行できるタスクは基本的に1つです。

タスクA:実行したい
タスクB:実行したい
タスクC:実行したい

このとき、まず「次にどのタスクを実行するか」を決めます。

これが スケジューリング です。

次はタスクBにしよう

そして、選ばれたタスクBにCPUを渡して、実行状態にします。

これが ディスパッチ です。

タスクBにCPU使用権を渡す
  → タスクBが実行状態になる

つまり、

スケジューリング = 誰を次にするか決める
ディスパッチ = 実際にCPUを渡す

と考えると分かりやすいです。

定義・仕組み

タスクとは、OSが管理する処理の単位です。

OSは、複数のタスクを管理しながら、どのタスクにCPUを使わせるかを制御します。

タスクは、代表的に次のような状態を移ります。

状態 意味
実行可能 CPUが割り当てられれば実行できる状態
実行 CPUを使って処理している状態
待ち 入出力完了などを待っている状態
終了 タスクの処理が終わった状態

ディスパッチは、実行可能状態のタスクを実行状態に移す操作 と考えると整理しやすいです。

実行可能
  ↓ CPU割当て(ディスパッチ)
実行

このとき、OSの中でディスパッチを行うプログラムを ディスパッチャ と呼びます。

関連する用語は、次のように整理できます。

用語 意味
スケジューラ 次に実行するタスクを選ぶ仕組み
ディスパッチャ 選ばれたタスクにCPUを割り当てる仕組み
TCB タスクを管理するための情報を保持する領域
コンテキスト タスクを中断・再開するために必要なCPU状態

TCBには、タスクの状態、優先度、レジスタ情報、プログラムカウンタなど、タスク管理に必要な情報が保持されます。

このテーマは、基本情報技術者試験の「オペレーティングシステム」や「タスク管理」と関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。

科目Aでどう出る?

科目Aでは、ディスパッチ、スケジューリング、TCB、マルチタスクなどの説明を選ぶ問題が出やすいです。

用語を選ぶときは、説明文の中心が 決定 なのか、CPUの割当て なのか、管理情報 なのかを見ます。

説明の中心 対応する用語 見るポイント
実行順序や優先順位を決める スケジューリング 次にどのタスクを実行するか
CPU使用権を割り当てる ディスパッチ 選ばれたタスクを実行状態にする
タスクの状態や優先度を保持する TCB タスク管理のための情報
タスク再開に必要なCPU状態を保持する コンテキスト レジスタ、プログラムカウンタなど
複数タスクを同時実行のように見せる マルチタスク CPUを短時間で切り替える

選択肢を切るときは、次の対応を使うと便利です。

順番を決める      → スケジューリング
CPUを割り当てる   → ディスパッチ
管理情報を持つ    → TCB
状態を保存する    → コンテキスト
同時に見せる      → マルチタスク

英語で言うなら、次の感覚です。

Dispatch means assigning the CPU to a ready task.

「ready task」は、実行可能状態のタスクという意味です。

どんな場面で使う?

問題文では、ディスパッチという用語そのものより、タスク状態の遷移やCPU割当ての流れを読む場面で役立ちます。

例えば、次のような流れです。

実行可能状態のタスクが複数ある
  ↓
スケジューラが次のタスクを選ぶ
  ↓
ディスパッチャがCPUを割り当てる
  ↓
選ばれたタスクが実行状態になる

また、実行中のタスクが入出力を要求すると、待ち状態へ移ることがあります。

実行
  ↓ 入出力要求
待ち
  ↓ 入出力完了
実行可能
  ↓ ディスパッチ
実行

このように、ディスパッチは、タスク状態遷移の中で 実行可能から実行へ移る場面 と関係します。

問題文で読むときは、次の点を確認すると理解しやすくなります。

1. タスクは実行可能状態か
2. CPUを割り当てる場面か
3. 実行順序を決める話か
4. タスクの状態や管理情報の話か

「CPUを割り当てる」ならディスパッチ、「順序を決める」ならスケジューリングです。

よくある誤解・混同

誤解1:ディスパッチとスケジューリングを同じだと思う

ディスパッチとスケジューリングは近い関係ですが、役割が違います。

用語 役割
スケジューリング 次に実行するタスクを決める
ディスパッチ 選ばれたタスクにCPUを割り当てる

試験では、決める割り当てる を分けて読みます。

実行順序を決定する
  → スケジューリング

プロセッサの使用権を割り当てる
  → ディスパッチ

誤解2:TCBをディスパッチだと思う

TCBは、Task Control Block の略で、タスクを管理するための情報を保持する領域です。

ディスパッチは操作であり、TCBは情報を保持するものです。

用語 見るポイント
ディスパッチ CPU使用権を割り当てる操作
TCB タスクID、状態、優先度、コンテキストなどの管理情報

「タスクの実行に必要な情報」とあれば、ディスパッチではなくTCBやコンテキストを考えます。

誤解3:マルチタスクをディスパッチだと思う

マルチタスクは、複数のタスクを並行して実行しているように見せる仕組みです。

ディスパッチは、その中で実行可能なタスクにCPUを割り当てる操作です。

マルチタスク:複数タスクを同時に動いているように見せる考え方
ディスパッチ:その中でCPUを渡す操作

「同時に実行しているかのように見せる」とあれば、マルチタスクを疑います。

誤解4:コンテキストを「文章の文脈」と考えてしまう

一般的な英語では、context は「文脈」という意味です。

しかし、OSの文脈では、コンテキストはタスクを中断・再開するために必要なCPU状態を指します。

例えば、次のような情報です。

レジスタの値
プログラムカウンタ
スタックポインタ
実行途中の状態

コンテキストを保存しておくことで、別のタスクに切り替えたあとでも、元のタスクを再開できます。

まとめ(試験直前用)

  • ディスパッチは、実行可能なタスクへCPU使用権を割り当てること
  • 順番を決める のはスケジューリング
  • CPUを渡す のがディスパッチ
  • タスクの管理情報 はTCB
  • 複数タスクを同時に見せる のはマルチタスク
  • タスク状態では、実行可能から実行へ移る場面に注目する

© 2024-2026 stemtazoo. All rights reserved.