階層スケジューリング(かいそうすけじゅーりんぐ)
最終更新:2026/4/27
階層スケジューリングは、上位のスケジューラがリソースを配分し、下位のスケジューラが個別のタスクを管理する多段階のスケジューリング手法である。
ポイント
リアルタイムシステムや組み込みシステムにおいて、時間制約の厳しいタスクを確実に実行するために用いられる。タスクの重要度に応じて、より高い優先度のタスクが優先的に実行される。
概要
階層スケジューリングは、複数のタスクを優先度の高い順に実行するスケジューリング手法の一つである。タスクを複数の階層に分け、各階層に異なる優先度を割り当てることで、システム全体のパフォーマンスを向上させることができる。特に、リアルタイムシステムや組み込みシステムにおいて、時間制約の厳しいタスクを確実に実行するために有効である。
仕組み
階層スケジューリングでは、タスクを複数の階層に分類する。例えば、最も重要なタスクを最上位の階層に配置し、次に重要なタスクをその下の階層に配置する。各階層には、それぞれ異なるスケジューリングアルゴリズムを適用することができる。最上位の階層では、時間制約の厳しいタスクを優先的に実行するために、レートモノトニックスケジューリング(RMS)や最早締め切り優先度(EDF)などのアルゴリズムが用いられることが多い。下位の階層では、時間制約が緩いタスクを効率的に実行するために、ラウンドロビンスケジューリングなどのアルゴリズムが用いられる。
メリット
階層スケジューリングの主なメリットは、以下の通りである。
- 時間制約の厳しいタスクを確実に実行できる
- システム全体のパフォーマンスを向上させることができる
- 複雑なシステムを効率的に管理できる
デメリット
階層スケジューリングの主なデメリットは、以下の通りである。
- スケジューリングアルゴリズムの設計が難しい
- タスクの優先度設定が難しい
- システムの応答性が低下する可能性がある
応用例
階層スケジューリングは、自動車のエンジン制御システム、航空機のフライト制御システム、産業用ロボットの制御システムなど、様々なリアルタイムシステムに適用されている。