令和4年度 秋期 応用情報技術者試験 午前 問19
テクノロジアルゴリズムOS・ソフトウェアタスク管理・排他制御
LANに接続された3台のプリンターA〜Cがある。印刷時間が分単位で4, 6, 3, 2, 5, 3, 4, 3, 1の9個の印刷データがこの順で存在する場合,プリンターCが印刷に要する時間は何分か。ここで,プリンターは,複数台空いていれば,A, B, Cの順で割り当て,1台も空いていなければ,どれかが空くまで待ちになる。また,初期状態では3台とも空いている。
解答・解説
正解: ウ. 11
プリンターA、B、Cに印刷データを順に割り当てるシミュレーションを行い、プリンターCに割り当てられたデータの印刷時間の合計を求めます。
印刷データの待ち行列は「4, 6, 3, 2, 5, 3, 4, 3, 1」です。
割り当てのルールは以下の通りです。
- プリンターが複数空いている場合は、A → B → C の順で割り当てる。
- すべて使用中の場合は、最初に空いたプリンターに割り当てる。
- 同時に空いた場合は、再び A → B → C の順で優先される。
順番に処理を追っていくと以下のようになります。
- 1番目のデータ(4分): 初期状態はすべて空き。優先順位1位のプリンターAに割り当て。(A:0〜4分)
- 2番目のデータ(6分): B、Cが空き。優先順位が高いプリンターBに割り当て。(B:0〜6分)
- 3番目のデータ(3分): Cが空き。プリンターCに割り当て。(C:0〜3分)
- 4番目のデータ(2分): すべて使用中。最初に空くのは3分後のC。プリンターCに割り当て。(C:3〜5分)
- 5番目のデータ(5分): A(4分後)、C(5分後)、B(6分後)の順に空く。最初に空くプリンターAに割り当て。(A:4〜9分)
- 6番目のデータ(3分): C(5分後)、B(6分後)、A(9分後)の順に空く。最初に空くプリンターCに割り当て。(C:5〜8分)
- 7番目のデータ(4分): B(6分後)、C(8分後)、A(9分後)の順に空く。最初に空くプリンターBに割り当て。(B:6〜10分)
- 8番目のデータ(3分): C(8分後)、A(9分後)、B(10分後)の順に空く。最初に空くプリンターCに割り当て。(C:8〜11分)
- 9番目のデータ(1分): A(9分後)、B(10分後)、C(11分後)の順に空く。最初に空くプリンターAに割り当て。(A:9〜10分)
この結果、プリンターCに割り当てられた印刷データは「3分」「2分」「3分」「3分」の4つです。
したがって、プリンターCが印刷に要する時間は 分となります。
各選択肢の解説
- ア(7): 誤り。プリンターC以外の稼働時間や、途中でシミュレーションを誤った場合の値です。
- イ(9): 誤り。プリンターAが印刷に要する時間()に近いですが不正確な値です。
- ウ(11): 正解。上記シミュレーションの通り、プリンターCの印刷時間の合計は11分になります。
- エ(12): 誤り。プリンターBが印刷に要する時間()の計算ミスや、全体の終了時刻などを誤認した値です。