• ベストアンサー

基本情報試験 平成23年 春 特別試験 午後問2

自己採点していますが、どうしても理解できない問題があります。 午後問2のa,bがどうしてもわかりません。 回答方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

> Dの時にはA,B,Cの分の到着時刻を引く必要があると思いますし。 いいえ,その必要はありません。 到着 D→【待ち行列 C B】→【トイレの個室 A】 Aさんは180秒間トイレの個室に居座り続けるし, Bさんは80秒間,Cさんは40秒間トイレの個室に居座り続ける。 Dさんは20秒間しかトイレの個室を使わない。 Aさんが個室に入ってから50秒後にDさんが到着し, その時点でDさんのターンアラウンドタイムのストップウォッチを計測開始したならば, Dさんが用を足し終わってストップウォッチを計測終了する時刻は, B,Cがいつトイレに到着したかなんて関係なく, (180+80+40+20)-50=270秒後で決まりです。 > 処理時間に到着時刻も含まれているという事でしょうか? いいえ,違います。 「プロセスが待ち行列に到着してから実行が終了するまでの時間」ですから, ターンアラウンドタイム=  実行可能状態における待ち時間の合計+実行状態における処理時間の合計 です。 到着時刻の早遅によって,左項の待ち時間は伸び縮みしますが,右項の処理時間は変わりません。

wisteria999
質問者

お礼

ありがとうございました。

wisteria999
質問者

補足

わかりました。 上を踏まえて再度、タイムチャートを作成し他のプロセスの到着時刻を引く必要がないことがわかりました。 本当に助かりました。 ありがとうございました。

その他の回答 (1)

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

●解答欄a…到着順方式 各プロセスの(到着時刻,処理開始時刻,処理終了時刻)は次のとおり。 プロセスA(0, 0, 180) プロセスB(10, 180, 260(=180+80)) プロセスC(30, 260, 300(=260+40)) プロセスD(50, 300, 320(=300+20)) 各プロセスのターンアラウンドタイムは次のとおり。 プロセスA…180- 0=180 プロセスB…260-10=250 プロセスC…300-30=270 プロセスD…320-50=270 平均は【オ】242.5ミリ秒 ●解答欄b…ラウンドロビン方式 タイムチャートは次のとおり。 A|AA--AA------AA----AA--AAAAAAAAAA (320ms) B|--BB----BB------BB--BB (220ms) C|------CC------CC (160ms) D|----------DD (120ms) 各プロセスのターンアラウンドタイムは次のとおり。 プロセスA…320- 0=320 プロセスB…220-10=210 プロセスC…160-30=130 プロセスD…120-50= 70 平均は【オ】182.5ミリ秒

wisteria999
質問者

お礼

ありがとうございました。

wisteria999
質問者

補足

ターンアラウンドタイムについては問題文に『プロセスが待ち行列に到着してから実行が終了するまでの時間』と書かれていました。 その為処理開始時刻,処理終了時刻を求めるのですね。 私は単純に処理時間のみを足して平均を取っていました。 ただ理解できていない事がそれぞれのプロセスの到着時刻を引いている事です。これは処理時間に到着時刻も含まれているという事でしょうか?? それであればプロセスDの時にはA,B,Cの分の到着時刻を引く必要があると思いますし。 もしくは、プロセスAが処理している間にプロセスB,C,Dは待ち行列に到着しているので、計算には含まれないと思ってしまうのですが、、、 ラウンドロビン方式 タイムチャートは理解できました。A⇒B⇒C⇒DではなくA⇒B⇒A⇒C⇒B⇒D⇒A⇒Cという順序なんですね。到着時刻が関係する事を忘れていました。 これに関しても、その値から、到着時刻を引いている事が理解できません。 読解力がないかもしれませんが解説よろしくお願いします。

関連するQ&A

専門家に質問してみよう