応用情報技術者 2017年 春期 午前2 問13
問題文
CPUと磁気ディスク装置で構成されるシステムで、表に示すジョブ A,Bを実行する。この二つのジョブが実行を終了するまでのCPUの使用率と磁気ディスク装置の使用率との組合せのうち、適切なものはどれか。ここで、ジョブ A,Bはシステムの動作開始時点ではいずれも実行可能状態にあり、A, Bの順で実行される。CPU及び磁気ディスク装置は、ともに一つの要求だけを発生順に処理する。ジョブ A, BともCPUの処理を終了した後、磁気ディスク装置の処理を実行する。


選択肢
ア:
イ:
ウ:(正解)
エ:
CPUと磁気ディスク装置の使用率計算問題【午前2 解説】
要点まとめ
- 結論:CPU使用率は0.79、磁気ディスク装置使用率は0.89が正解です。
- 根拠:ジョブAとBのCPU処理と磁気ディスク処理の順序と時間から、各装置の稼働時間を合計し、全体の処理時間で割って使用率を算出します。
- 差がつくポイント:ジョブの実行順序と装置の排他制御(1つずつ順番に処理)を正確に理解し、装置の待ち時間を考慮することが重要です。
正解の理由
ジョブAとBはCPU処理後に磁気ディスク処理を行い、CPUと磁気ディスクはそれぞれ単一の要求を順に処理します。
- CPUの合計処理時間は 秒。
- 磁気ディスクの合計処理時間は 秒。
ジョブの実行順序と装置の排他制御から、全体の処理時間は17秒(磁気ディスクの最後の処理終了時点)となります。
したがって、 - CPU使用率 = CPU稼働時間 ÷ 全体時間 = (小数点以下切り捨て)
- 磁気ディスク使用率 = 磁気ディスク稼働時間 ÷ 全体時間 =
この計算結果に最も近いのが選択肢ウです。
よくある誤解
CPUと磁気ディスクの処理時間を単純に合計するだけでなく、装置の排他制御や待ち時間を考慮しないと誤った使用率になることがあります。
解法ステップ
- ジョブAのCPU処理時間(3秒)を計算する。
- ジョブBのCPU処理時間(12秒)を計算し、ジョブAのCPU処理後に連続して実行されることを確認。
- ジョブAの磁気ディスク処理時間(7秒)をCPU処理終了後に開始。
- ジョブBの磁気ディスク処理時間(10秒)はジョブAの磁気ディスク処理終了後に開始。
- 全体の処理時間は磁気ディスクの最後の処理終了時点(3+12+7+10=32秒ではなく、排他制御を考慮し17秒とする)。
- CPU使用率 = CPU稼働時間合計 ÷ 全体処理時間。
- 磁気ディスク使用率 = 磁気ディスク稼働時間合計 ÷ 全体処理時間。
- 計算結果と選択肢を比較し、最も近いものを選ぶ。
選択肢別の誤答解説
- ア:CPU使用率0.47、磁気ディスク使用率0.53は処理時間の合計や排他制御を考慮していないため低すぎる。
- イ:CPU使用率0.60、磁気ディスク使用率0.68はCPUと磁気ディスクの処理順序を誤解している可能性がある。
- ウ:CPU使用率0.79、磁気ディスク使用率0.89は正しい計算に基づく。
- エ:CPU使用率0.88、磁気ディスク使用率1.00は磁気ディスクが常に稼働していると誤認している。
補足コラム
CPUと磁気ディスク装置の使用率は、システムのボトルネック分析に役立ちます。CPUが先に処理し、その後磁気ディスクが処理を行うシーケンスでは、装置の待ち時間や排他制御が使用率に大きく影響します。これらを正確に把握することは性能評価やシステム設計に不可欠です。
FAQ
Q: CPUと磁気ディスクの使用率はどうやって計算しますか?
A: 各装置の稼働時間を全体の処理時間で割ることで算出します。排他制御や待ち時間を考慮することが重要です。
A: 各装置の稼働時間を全体の処理時間で割ることで算出します。排他制御や待ち時間を考慮することが重要です。
Q: なぜ全体の処理時間は磁気ディスクの処理終了時点になるのですか?
A: ジョブはCPU処理後に磁気ディスク処理を行い、全ジョブの終了は最後の磁気ディスク処理完了時点だからです。
A: ジョブはCPU処理後に磁気ディスク処理を行い、全ジョブの終了は最後の磁気ディスク処理完了時点だからです。
関連キーワード: CPU使用率、磁気ディスク装置、排他制御、処理時間計算、システム性能評価

\ せっかくなら /
応用情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

