タスク管理
応用情報技術者 用語
タスク管理は、OSが複数のタスクにCPUを割り当てる順序を決めるスケジューリングと、共有資源を複数のタスクが同時に使わないようにする排他制御などを行う機能です。プリエンプティブ方式では、OSが実行中のタスクを中断して別のタスクに切り替えます。ノンプリエンプティブ方式では、タスクが自ら制御を返したときだけ切り替えます。
タスク管理の用語の違い
| 用語 | 役割 | 見分ける手がかり |
|---|---|---|
| セマフォ | 共有資源の排他制御 | 複数タスクが同時に使わないようにする |
| キュー | タスク間のデータ受け渡し | メッセージを順番に渡す |
| メモリプール | 固定長メモリ領域の管理 | メモリブロックの確保と解放 |
| マルチスレッド | 1つのプロセス内で複数のスレッドを並行実行 | 処理の並行化 |
| 資源の獲得順序の統一 | デッドロックの防止 | 循環待ちを起こさない |
| 処理時間順方式 | 処理時間が短いジョブから実行 | 到着済みジョブの処理時間を比べる |
共有資源を同時に使わせないならセマフォ、データを渡すならキューです。デッドロックを防ぐなら全タスクで資源の獲得順序をそろえます。
取り違えやすい用語
- プリエンプティブ方式とノンプリエンプティブ方式(OSが強制的に中断するか、タスクが自ら制御を返したときだけ切り替えるか)
- セマフォとキュー(共有資源の排他制御か、タスク間のデータ受け渡しか)
- 実行可能状態と待ち状態(プリエンプションで実行権を奪われたタスクは、すぐ再開できる実行可能状態に移る)
試験での出方
- 周期タスクの最大実行時間と周期から、優先度の低いタスクが周期内に処理を完了できる組合せを選ぶ(令和5年度 秋期 問17)
- スケジューリング方式の説明から、特定のタスクがCPUの割当てを待ち続ける可能性が最も高い方式を選ぶ(令和6年度 秋期 問16)
- ノンプリエンプティブ方式のタスクの切替えについて、適切な説明を選ぶ(令和6年度 春期 問16)
- プリエンプションによって実行中のタスクが移る状態を選ぶ(令和7年度 春期 問14)
- 処理時間順方式でジョブを実行したときのターンアラウンドタイムを求める(令和7年度 秋期 問15)
- 資源の占有順序の表から、デッドロックを起こす可能性があるプロセスを選ぶ(令和6年度 春期 問17)
- 二つのタスクが共用する資源でのデッドロックを防ぐ方法を選ぶ(令和7年度 秋期 問18)
- 一つのバスを共用するタスクを排他制御するためのリアルタイムOSの機能を選ぶ(令和7年度 秋期 問16)
- スレッドセーフの説明を選ぶ(令和7年度 秋期 問17)
- プログラム言語Scalaの特徴を選ぶ(令和7年度 秋期 問7)
出題された回
全年度から出題。10問で実力を判定します。登録不要。
解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方