2016年12月21日水曜日

[平成26年度秋] 午後 問3解説

[問題文・解答]


平成26年度10月に実施された基本情報技術者試験の午後試験の問題・解答はIPA公式ページからダウンロード出来ます。(以下リンク)

[問題概要]


この問題は、選択問題で問2〜問7のうち4問を選択する必要があります。
出題分野はソフトウェアで、問題の題材はOSにおけるプロセスのスケジューリングです。
到着準方式、ラウンドロビン方式、残余処理時間方式におけるプロセス処理について問われます。問題文中に説明があるため専門知識が無くても解答可能ですが、処理の順序をしっかり理解する必要があります。

[設問1]


到着順方式ではプロセスは生成されると待ち行列の末尾に登録され、実行可能状態となります。P.16上段「プロセスの事項中にデータの入出力が発生した場合、その実行を中断して待ち状態となり、データの入出力が完了したら実行可能状態となる」とあることから、図4に示されたプロセスXの各処理におけるプロセスの状態遷移は以下のようになります。
初期状態:プロセス生成直後(実行可能状態)
①実行状態に移行してCPUを使用して前処理(a)
②データ入力発生のため、待ち状態に移行(c)。入力完了後、実行可能状態になる(d)
③ 実行状態に移行してCPUを使用して計算処理(a)
④データ出力発生のため、待ち状態に移行(c)。入力完了後、実行可能状態になる(d)
⑤実行状態に移行してCPUを使用して後処理(a)
以上より、(a)3回、(b)0回、(c)2回、(d)2回となるため「ウ」が正解です。

[答] ウ

[設問2]

各プロセスの到着、実行の順序を時系列で表すと以下のようになります。()内は待ち行列の中身、[]内の数字は時刻で単位はミリ病です。
①[0-10]A実行(無し)
②[10-20]B到着。A実行中(B)
③[20-30]B実行、Aは実行を中断して待ち行列の末尾へ(A)
④[30-40]C到着、B実行中(AC)
⑤[40-50]A実行、Bは実行を中断して待ち行列の末尾へ(CB)
⑥[50-60]D到着、A実行中(CBD)
⑦[60-80]C実行、Aは実行を中断して待ち行列の末尾へ(BDA)
⑧[80-100]B実行、Cは実行を中断して待ち行列の末尾へ(DAC)
⑨[100-120]D実行、Bは実行を中断して待ち行列の末尾へ(ACB)
以上より、Dが最初に実行状態に移ったときの待ち行列は先頭からA,C,Bとなるため「イ」が正解です。

[答] イ

[設問3]


図5の90秒時点での各プロセスの残余処理時間はA:110、B:70、C:30、D:0(単位はミリ秒)となり、この後はC→B→Aの順で各プロセスが終わり次第、次のプロセスを処理していきます。
従って、各プロセスが終了する時刻はC:120ミリ秒、B:190ミリ秒、A:300ミリ秒となり、各プロセスの到着時刻がC:30ミリ秒、B:10ミリ秒、A:0ミリ秒であることを考慮するとプロセスA,B,Cのターンアラウンドタイムは以下のようになります。
A: 300 - 0 = 300 ミリ秒 → 「キ」
B: 190 - 10 = 180 ミリ秒 → 「カ」
C: 120 - 30 = 90 ミリ秒 → 「ウ」

[答] a) キ b) カ c) ウ


上記の解説は問題と解答を元に自分なりの考え方を記述しており、間違っている部分もあるかと思いますので、ご了承願います。また、誤りについては正しい考え方をご指摘・ご教授頂けると助かります。

0 件のコメント:

コメントを投稿