読み方 : しょりじかんじゅんほうしき
処理時間順方式【SJF】Shortest Job First
概要
処理時間順方式とは、複数の処理の実行順序を決める際に、処理時間の短いものから優先して割り当てる制御方式。オペレーティングシステム(OS)によるタスクスケジューリングなどで用いられる方式で、IT分野以外でも製造業や物流の工程管理などに同様の考え方が応用される。

CPUは同時に一つのプロセスしか実行できないため、複数のプロセスが実行を待っている場合、実行順序を決める仕組みが必要になる。処理時間順方式では、待ち行列(キュー)に並ぶプロセスの推定実行時間を比較し、最短のものから順に実行権を割り当てる。
この方式では、短い処理が長い処理の完了を待たされる事態を避けられる。理論上、ノンプリエンプティブ(タスク切り替えを強制しない方式)なスケジューリングアルゴリズムの中で全プロセスの平均待ち時間と平均ターンアラウンドタイムを最も小さくできるとされており、系全体のスループット向上につながる。
一方、この方式にはいくつかの課題がある。最大の問題は、プロセスの実行時間を事前に把握しにくい点である。結局のところ正確な時間は実行してみないと分からないため、実際の実装では、過去の実行履歴をもとに次回の実行時間を予測する「指数平均法」などが用いられることが多い。
また、短いプロセスが次々と到着し続ける環境では、処理時間が長いと見積もられたプロセスはいつまで待っても順番が回ってこない「飢餓状態」(starvation)に陥るリスクがある。対策として、待ち時間に応じて優先度を引き上げる「エイジング」(aging)と呼ばれる手法が組み合わせて使われることがある。
処理時間順方式にはプリエンプティブ(強制的にタスク切り換えを行う方式)な変形版も存在し、「最短残余時間順方式」(SRTF:Shortest Remaining Time First)と呼ばれる。新たなプロセスが到着するたびに実行中のプロセスと残余時間を比較し、より短いものがあれば切り替える方式で、応答性はさらに高まるが、コンテキストスイッチのオーバーヘッドも増加する。
(2026.6.18更新)
関連用語
資格試験などの「処理時間順方式」の出題履歴
▼ 基本情報技術者試験
【令3修7 問17】 五つのジョブ A~E に対して,ジョブの多重度が1で,処理時間順方式のスケジューリングを適用した場合,ジョブBのターンアラウンドタイムは何秒か。