令和元年度秋期 応用情報技術者試験 午前 問17
ジョブ群と実行の条件が次のとおりであるとき,一時ファイルを作成する磁気ディスクに必要な容量は最低何 M バイトか。〔ジョブ群〕〔実行の条件〕(1) ジョブの実行多重度を 2 とする。(2) 各ジョブの処理時間は同一であり,他のジョブの影響は受けない。(3) 各ジョブは開始時に 50M バイトの一時ファイルを新たに作成する。(4) X→Y の関係があれば,ジョブ X の開始時に作成した一時ファイルは,直後のジョブ Y で参照し,ジョブ Y の終了時にその一時ファイルを削除する。直後のジョブが複数個ある場合には,最初に生起されるジョブだけが先行ジョブの一時ファイルを参照する。(5) X<Y,Z はジョブ X の終了時に,ジョブ Y,Z のようにジョブ X と矢印で結ばれる全てのジョブが,上から記述された順に優先して生起されることを示す。(6) X,Y→Z は先行するジョブ X,Y 両方が終了したときにジョブ Z が生起されることを示す。(7) ジョブの生起とは実行待ち行列への追加を意味し,各ジョブは待ち行列の順に実行される。(8) OS のオーバヘッドは考慮しない。

- ア 100
- イ 150
- ウ 200
- エ 250
解答・解説を見る
正解:ウ
AI解説
実行多重度2のジョブスケジューリングにおいて、各ジョブが開始時に作成する一時ファイル(50Mバイト)は後続ジョブに参照された後に削除される。同時に実行され得るジョブの数と、それぞれが保持する一時ファイルの総量を、依存関係の図に沿って追跡すると、同時に存在し得る一時ファイルの最大量が最低必要な磁気ディスク容量となる。 ア: 100Mバイトは1ジョブ分の一時ファイル×2個相当であり、依存関係を考慮した同時実行時の最大必要量には不足する。 イ: 150Mバイトも、ジョブの生起順序や参照関係を厳密に追跡した場合の同時存在量としては不足する値である。 ウ: 依存関係と実行多重度2の制約に沿ってジョブの生起・削除タイミングを追跡すると、同時に存在し得る一時ファイルの最大合計は200Mバイトとなり、これが正解である。 エ: 250Mバイトは、同時に存在するはずのない一時ファイルまで重複して数えてしまった場合に生じる過大な値である。 💡 このタイプの問題は、ジョブの生起(待ち行列への追加)と一時ファイルの作成・削除のタイミングを時系列で丁寧に追い、実行多重度の制約内で同時に存在するファイル量の最大値を求めることが解法の鍵である。
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。