SPONSORED

階層スケジューリング(かいそうすけじゅーりんぐ)

最終更新:2026/4/27

階層スケジューリングは、上位のスケジューラがリソースを配分し、下位のスケジューラが個別のタスクを管理する多段階のスケジューリング手法である。

別名・同義語 優先度スケジューリングマルチレベルスケジューリング

ポイント

リアルタイムシステムや組み込みシステムにおいて、時間制約の厳しいタスクを確実に実行するために用いられる。タスクの重要度に応じて、より高い優先度のタスクが優先的に実行される。

概要

階層スケジューリングは、複数のタスクを優先度の高い順に実行するスケジューリング手法の一つである。タスクを複数の階層に分け、各階層に異なる優先度を割り当てることで、システム全体のパフォーマンスを向上させることができる。特に、リアルタイムシステム組み込みシステムにおいて、時間制約の厳しいタスクを確実に実行するために有効である。

仕組み

階層スケジューリングでは、タスクを複数の階層に分類する。例えば、最も重要なタスクを最上位の階層に配置し、次に重要なタスクをその下の階層に配置する。各階層には、それぞれ異なるスケジューリングアルゴリズムを適用することができる。最上位の階層では、時間制約の厳しいタスクを優先的に実行するために、レートモノトニックスケジューリング(RMS)や最早締め切り優先度(EDF)などのアルゴリズムが用いられることが多い。下位の階層では、時間制約が緩いタスクを効率的に実行するために、ラウンドロビンスケジューリングなどのアルゴリズムが用いられる。

メリット

階層スケジューリングの主なメリットは、以下の通りである。

  • 時間制約の厳しいタスクを確実に実行できる
  • システム全体のパフォーマンスを向上させることができる
  • 複雑なシステムを効率的に管理できる

デメリット

階層スケジューリングの主なデメリットは、以下の通りである。

  • スケジューリングアルゴリズムの設計が難しい
  • タスクの優先度設定が難しい
  • システムの応答性が低下する可能性がある

応用例

階層スケジューリングは、自動車エンジン制御システム航空機のフライト制御システム、産業用ロボットの制御システムなど、様々なリアルタイムシステムに適用されている。

SPONSORED