ITパスポート講座の講師ブログ

よくあるご質問 -ジョブの終了時間-

皆さん、こんにちは。

 

今月はよくあるご質問のうち、ジョブの終了時間の考え方についてお話しいたしましょう。

例えば、次のような出題がなされています(22年春第76問)。

 

OSが、ジョブを到着順に、前のジョブが終わってから次のジョブを処理する場合について考える。 ジョブの到着時刻と処理時間が表のとおりであるとき、ジョブ4は、到着してからその処理が終了するまでに何秒を要するか。ここで、四つのジョブ以外の処理に要する時間は無視できるものとする。表の到着時刻は、ジョブ1が到着した時刻を開始時刻とする。

01

次のように考えて、解答します。

 

各ジョブは次のように進みます。

02

ジョブ1は0秒後に到着し、そこから3秒間で処理されます。

ジョブ2は4秒後に到着し、そこから4秒間で処理されます。つまり3秒後から4秒後までの1秒間は何も処理されない空白の時間となります。

ジョブ3は5秒後に到着しますが、そのときはジョブ2が処理中ですから、ジョブ3を処理できません。ジョブ2の処理が終了した後にジョブ3の処理が始まりますので、ジョブ3は8秒後から処理されます。そこから3秒間処理されます。つまり、ジョブ3は5秒後に到着して8秒後から処理され始めるまで3秒間待機させられるわけです。

ジョブ4は7秒後に到着しますが、そのときはジョブ2が処理中です。ジョブ2の処理が終わると先にジョブ3の処理が行われます。よって、ジョブ4の処理を始めるのは11秒後からです。そこから5秒間処理されます。ジョブ4は7秒後に到着していますが、11秒後まで4秒間待機させられ、その5秒間処理されます。したがって、ジョブ4の到着から処理終了までの時間は9秒です。