平成22年度 春期 ITパスポート試験 問76 解説 ジョブの処理時間計算
OS が,ジョブを到着順に,前のジョブが終わってから次のジョブを処理する場合に ついて考える。ジョブの到着時刻と処理時間が表のとおりであるとき,ジョブ 4 は, 到着してからその処理が終了するまで何秒を要するか。ここで,四つのジョブ以外 の処理に要する時間は無視できるものとする。表の到着時刻は,ジョブ 1 が到着した 時刻を開始時刻とする。
- ア 5
- イ 8
- ウ 9 ✓ 正答
- エ 12
解説
ジョブの終了時刻を順に追いかけ、最後にジョブ4の終了時刻から到着時刻を引くことで答えが出ます。各ジョブは前回の処理が終わった直後、または到着した時点で開始されます。
処理の流れを時系列で整理する
OSがジョブを到着順に処理する場合、各ジョブがいつ始まり、いつ終わるかを一つずつ計算します。
- ジョブ1:0秒に到着。0秒から処理を開始し、3秒で終了します。
- ジョブ2:4秒に到着。直前のジョブ1は3秒に終了しているので、すぐに取りかかり4秒から開始します。4秒+処理時間4秒=8秒で終了します。
- ジョブ3:5秒に到着。直前のジョブ2は8秒に終了しているので、8秒まで待機して8秒から開始します。8秒+処理時間3秒=11秒で終了します。
- ジョブ4:7秒に到着。直前のジョブ3は11秒に終了しているので、11秒まで待機して11秒から開始します。11秒+処理時間5秒=16秒で終了します。
ジョブ4は7秒に到着し、16秒に終了しました。したがって、かかった時間は 秒となります。
到着順処理の仕組み
この問題のポイントは、ジョブが到着しても、前のジョブが動いていればすぐに処理を開始できないという点です。コンピュータの処理装置(CPU)は一度に一つのジョブしか実行できないため、到着順に待ち行列(キュー)に並べて順番を待たせるという考え方が基本となります。
ここでは、ジョブを到着した順に処理する「FCFS(First-Come, First-Served)」というスケジューリング方式が採用されています。現実のOSにおいても、処理の公平性を保つための最も単純で直感的な制御手法の一つです。
業務やシステム設計におけるスケジューリングの重要性
今回のような計算は、システム全体のレスポンスタイム(応答時間)を考えるうえで非常に重要です。
もし特定のジョブの処理時間が非常に長かった場合、後続のジョブはすべて待機を強いられ、全体のパフォーマンスが低下します。大規模なシステム設計やプロジェクト管理では、到着順に処理するだけでなく、処理時間の短いものを優先したり、時間枠を区切って切り替えたりする複雑なスケジューリングアルゴリズムを使い分けます。
ITパスポート試験でこの問題を理解しておくことは、コンピュータが限られた資源をどのように効率よく配分しているかという、OSの基本機能を理解する第一歩になります。