最悪実行時間
最悪実行時間(さいあくじっこうじかん、英: Worst-case execution time, WCET)は、特定のハードウェアで特定の計算タスクを実行するのにかかる最長の時間を指す。最悪実行時間を知ることは、リアルタイムシステムのタイミング解析にとって最重要とされている。
タイミング解析は一般に次の2つのレベルで行われる。
WCET 解析
高レベル/システムレベルの解析
WCET 解析は、個々のタスクの実行時間を扱う。このレベルでは、対象タスクに関すること以外は無視される。タスクはスケジューリング上ブロックされることがないと見なされ、割り込まれることもないと想定される(これらの影響はスケジュール可能性解析で扱う)。
高レベルでは、システム内の個々のプログラムに関する WCET 解析の結果を用いて、システム全体の性能を解析する。複数のタスクが1つのCPUで実行され、リソースを奪い合う。従って、リソースにアクセスする際にブロックされる可能性がある。このレベルの典型的な解析手法をスケジュール可能性解析という。これには例えば、固定優先度解析やレートモノトニックスケジューリング解析などがある。スケジュール可能性解析の厳密性や精度は WCET 解析の正確さに依存する。WCET 値が悲観的(実際にシステムとして実行中にありうる実行時間よりも大きい予測値)な場合、スケジューラは各タスクに実際に必要な時間以上の時間を割り当てざるをえなくなるだろう。
静的 WCET 解析ツールを使ってプログラムのタスクの構造を決定する助けとすることができる。これは、ソースコードや実行ファイルを逆アセンブルしたものを対象とした解析ツールである。それとは別に実際のハードウェアに関する情報を使って低レベルな解析を行うことも必要である。これらの解析結果を統合することで、対象タスクを対象ハードウェア上で実行したときにかかる最悪実行時間が求められる。