AOBA's Information Processing Education
1998/08/02
注意1:このページは、回線を切断した後でゆっくりご覧になってください(テキストを印刷する場合は、その取り扱いに注意してください)。
注意2:背景が白地の画面を長時間見つめていると頭が痛くなってしまいますので、ここは背景をグレーにしています。
「平成7年春期 第2種 午後 問5」 問5 処理の実行順序に関する次の記述を読んで、設問に答えよ。
3台のプロセッサ(プロセッサ1〜プロセッサ3)を使って9個の処理(処理1〜処理9)を並列して実行する。ただし、処理によっては別の処理が終了してからでなければ実行できないものがある。各処理の処理時間と実行に関する依存関係は表のとおりである。
表 処理時間と各処理間の依存関係
処理番号 処理時間(ms) 実行開始前に終了していなければならない処理の番号 1 10 なし 2 20 なし 3 30 なし 4 15 1 5 20 1,2 6 30 2,3 7 15 2,4 8 25 5,7 9 20 6 各プロセッサで行う処理は、次のようにして決める。
- 実行可能な処理が複数ある場合、処理番号の若いものから優先して実行する。
- 複数のプロセッサが処理を実行可能な状態にある場合、プロセッサの番号の若い順から実行する処理を決める。
設問 次の記述中の( )に入れる正しい答えを、解答群の中から選べ。
最初、プロセッサ1〜プロセッサ3では、それぞれ処理1〜処理3を実行する。10ms後、プロセッサ1では処理が終了するので、続いて実行可能な処理4を実行する。
このようにして処理を実行していったとき、処理7は、実行開始から( a )ms後に( b )で実行される。プロセッサ2では、処理5が終了してから次の処理を実行するまで( c )msの待ち時間が発生する。すべての処理が終了するまでにかかる時間は( d )msである。a,cに関する解答群
ア 10 イ 15 ウ 20 エ 25 オ 30bに関する解答群
ア プロセッサ1 イ プロセッサ2 ウ プロセッサ3dに関する解答群
ア 50 イ 55 ウ 60 エ 65 オ 70 カ 75 キ 80 ク 85 ケ 90
解説 タイムチャートがきちんと書ければ、やさしい問題です。最初に全体のタイムチャートを示しましょう。
![]()
(A)
プロセッサ1〜プロセッサ3が、それぞれ処理1〜処理3の実行を開始。
(B)
次の処理4を実行するための先行処理は処理1。処理1はすでに終了しているので、処理4の実行を開始する。
(C)
次の処理5を実行するための先行処理は処理1と処理2。処理1と処理2はともに終了しているので、処理5の実行を開始する。
(D)
次の処理6を実行するための先行処理は処理2と処理3。処理2は終了しているが処理3がまだ実行中のため、処理6は実行できない。
その次の処理7の先行処理である処理2と処理4はともに終了しているので、処理7の実行を開始する。
(E)
(D)で保留されていた処理6の先行処理である処理3の実行が終了したため、処理6の実行を開始する。
(F)
次の処理8を実行するための先行処理は処理5と処理7。処理5と処理7はともに終了しているので、処理8の実行を開始する。
(G)
次の処理9を実行するための先行処理は処理6。処理6がまだ実行中のため、処理9は実行できない。残る処理がないため、待ち状態となる。
(H)
(G)で保留されていた処理9の先行処理である処理6の実行が終了したため、処理9の実行を開始する。
aとbについて
タイムチャートより、処理7は開始から25ms後にプロセッサ1で実行されます。cについて
タイムチャートより、(G),(H)間で20msの待ち時間が発生します。dについて
タイムチャートより、最後の処理9が終了するのは、開始から80ms後です。今週は簡単でしたね。
ではまた来週。
解答
a−エ b−ア c−ウ d−キ