平成29年度 春期 午前 問16
ソフトウェア
スプーリングに関する問題
四つのジョブ A〜D を次の条件で実行し印刷する。全ての印刷が完了するのは,ジョブを起動してから何秒後か。
〔条件〕
(1) ジョブは一斉に起動され,多重度1で実行される。 (2) 優先順位は A が最も高く,B,C,D の順に低くなる。 (3) 各ジョブの実行後,スプーリング機能が1台のプリンタを用いて逐次印刷を行う。 (4) 各ジョブを単独で実行した場合の実行時間と印刷時間は,表のとおりである。 (5) その他のオーバヘッドは考慮しない。
単位 秒
| ジョブ | 実行時間 | 印刷時間 |
|---|---|---|
| A | 50 | 50 |
| B | 30 | 40 |
| C | 20 | 30 |
| D | 40 | 20 |
- ア100
- イ160
- ウ190
- エ280
答えと解説を見る
✓ これが正解ウ190
解説
印刷が数珠つなぎになるので、終わるのは百九十秒後です。
ジョブは一斉に起動されますが、実行は一つずつ進みます。優先の高い順に、AからBへ、CからDへと片づけていきました。実行が終わったジョブから、スプーリング機能が印刷へ回します。ところが印刷機は一台なので、こちらも一つずつでした。Aは五十秒で実行を終え、そのまま印刷に五十秒かかります。Aの刷り終わりは、百秒の時点でした。Bの実行が終わるのは八十秒ですが、印刷機がまだ空きません。百秒から四十秒かけて、百四十秒で終わりました。Cの実行は百秒で終わり、印刷が百四十秒から三十秒続きます。終わるのは百七十秒の時点でした。Dは百四十秒までかかり、刷り始めは百七十秒で二十秒ぶんです。すべての印刷が終わるのは、百九十秒の時点になりました。重なりを見ます。実行の終わりと印刷機の空きの、遅いほうから始まります。
ほかの選択肢はなぜ違うのか
- ア100:百は、Aの印刷が終わる時点です。実行の五十秒に、印刷の五十秒を足した値でした。ここで終わるのは最初の一つだけです。残る三つの印刷がまだ続きます。全部が終わる時点ではありません。早すぎました。最初の一つで止めています。
- イ160:百六十は、実行の合計に最後の印刷を足した値です。実行は百四十秒で全部終わります。そこへDの印刷の二十秒を足しました。けれども印刷は、もっと早くから始まっています。AからCまでの印刷を数え落としました。三十秒足りません。
- エ280:二百八十は、実行と印刷をすべて足した値です。百四十と百四十で二百八十になりました。順に一つずつ行った場合の時間です。実際は、実行と印刷が重なって進みます。Aを印刷しながらBを実行しました。重なりを数えていません。重ねずに数えました。
出典:平成29年度 春期 基本情報技術者試験 午前 問16
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)