最終更新日:2026年10月7日
fe fe-technology software
まず結論
ジョブは利用者や業務から見た一まとまりの仕事、タスクはOSが実行を管理する処理の単位です。
仕事のまとまりを管理する
→ ジョブ管理
実行する処理へCPUを割り当てる
→ タスク管理・スケジューリング
基本情報技術者試験では、何を管理する単位かで切り分けます。
直感的な説明
例えば「毎晩、売上データを集計して帳票を作る」という仕事を考えます。
売上日次処理(ジョブ)
├─ データを読み込む
├─ 売上を集計する
└─ 帳票を出力する
これは業務としての一まとまりの仕事です。一方、実際に動くプログラムの処理はOSによって実行・待機・再開などを管理されます。
ジョブ:何の仕事をする?
タスク:どの処理を動かす?
定義・仕組み
| 用語 | 着目点 | 例 |
|---|---|---|
| ジョブ | 一まとまりの仕事 | 日次売上集計 |
| ジョブステップ | ジョブ内の処理段階 | 入力・集計・帳票出力 |
| タスク | OSが実行を管理する処理単位 | 集計プログラムの実行 |
| プロセス | 実行中プログラムの資源・実行管理単位 | 集計アプリのプロセス |
| スレッド | プロセス内の実行の流れ | 集計処理と通信処理のスレッド |
注意:ジョブ → ジョブステップ → タスク → スレッドは、すべてのOSに共通する厳密な親子階層ではありません。 ジョブとジョブステップは主に業務・バッチ処理の管理概念、プロセスとスレッドはOSの実行管理概念です。「タスク」がプロセスに近い意味で使われるか、スレッドに近い意味で使われるかはOSや教材の文脈によって異なります。
ジョブ管理
ジョブの投入、実行順序、開始・終了、結果確認など、仕事全体の進行を管理します。
タスク管理
タスクの実行可能状態・実行状態・待ち状態を管理し、CPUを割り当てます。
実行可能状態 → 実行状態 → 待ち状態
↑ │
└────────────────────────┘
この図は代表的な状態のイメージです。実際には実行終了や、実行状態から実行可能状態への切替えもあります。
科目Aでどう出る?
問題文で、仕事の投入順・実行結果・バッチ処理のまとまりを扱っていればジョブ管理を考えます。
一方、CPUの割当て・実行可能状態・待ち状態・優先度・タイムクォンタムを扱っていればタスク管理やスケジューリングを考えます。
| キーワード | 判断 |
|---|---|
| 日次処理、ジョブ投入、ジョブの実行順 | ジョブ管理 |
| ジョブを構成する処理段階 | ジョブステップ |
| CPU割当て、状態遷移 | タスク管理 |
| 一定時間ごとのCPU切替え | ラウンドロビン方式 |
詳しい切替え方式はタスクスケジューリング方式で確認できます。
次に読む:タスクがCPUを使うまで
ジョブとタスクの違いが分かったら、次はOSがタスクをどう切り替え、どれを実行するかを追うと全体像がつながります。
タスクとは何か
→ このページ
↓
実行中タスクを途中で切り替えられる?
→ プリエンプティブ / ノンプリエンプティブ
↓
次にどのタスクを選ぶ?
→ 到着順 / ラウンドロビン / 処理時間順 / 優先度方式
↓
タスクの状態を追う
→ 実行可能 / 実行 / 待ち
順番に読むなら、まずタスクスケジューリング方式でプリエンプティブとノンプリエンプティブを整理し、次にCPUスケジューリング方式で「どのタスクを選ぶか」を比較します。
その後、必要に応じてプリエンプティブスケジューリングで状態遷移を詳しく確認し、ラウンドロビンスケジューリングでタイムクオンタムを使った具体的な切替えを確認すると理解しやすくなります。
どんな場面で使う?
企業の夜間バッチ処理では「受注データを集計するジョブが正常終了したか」を確認します。一方、処理中に別のプログラムへCPUを割り当てるかはOSのタスク管理の問題です。
ジョブ管理:仕事が終わったか
タスク管理:処理をいつ動かすか
よくある誤解・混同
ジョブとタスクは同じ?
同じ意味で使う場面もありますが、FEでは管理の視点を区別するのが有効です。ジョブは仕事のまとまり、タスクは実行管理に着目します。
一つのジョブは必ず一つのタスク?
そうとは限りません。一つのジョブが複数のプログラムや処理段階から成る場合があります。
タスクとスレッドは常に同じ?
違います。OSや文脈によって「タスク」の意味は変わります。スレッドは一般に、プロセス内の実行の流れを指します。
ジョブ管理とCPUスケジューリングは同じ?
ジョブ管理は仕事全体の実行管理、CPUスケジューリングは実行可能な処理へのCPU割当てです。
まとめ(試験直前用)
- ジョブ:一まとまりの仕事
- ジョブステップ:ジョブ内の処理段階
- タスク:OSが実行を管理する処理の単位
- プロセス:実行中プログラムの資源・実行管理単位
- スレッド:プロセス内の実行の流れ
- ジョブ管理は仕事の進行、タスク管理は処理の実行状態・CPU割当てに注目する
- ジョブとタスクの関係を、どの環境でも同じ固定階層として覚えない