過去問解きまくり研究所 ホーム

平成26年度 秋期 午前 問17

ソフトウェア

タスクの処理が完了するまでの時間

2 台の CPU から成るシステムがあり,使用中でない CPU は実行要求があったタスクに割り当てられるようになっている。このシステムで,二つのタスク A,B を実行する際,それらのタスクは共通の資源 R を排他的に使用する。それぞれのタスク A,B の CPU 使用時間,資源 R の使用時間と実行順序は図に示すとおりである。二つのタスクの実行を同時に開始した場合,二つのタスクの処理が完了するまでの時間は何ミリ秒か。ここで,タスク A,B を開始した時点では,CPU,資源 R ともに空いているものとする。

〔図〕字に書き起こしたもの(矢印は左から右への実行順序)

   タスクA: [CPU 10ミリ秒] → [資源R 50ミリ秒] → [CPU 60ミリ秒]
   タスクB: [CPU 40ミリ秒] → [資源R 50ミリ秒] → [CPU 30ミリ秒]
答えと解説を見る

✓ これが正解イ140

解説

資源の待ちが 20 生じ、後のタスクが 140 で終わります。

CPU は 2 台あるので、二つのタスクは処理装置の取り合いをしません。取り合いが起きるのは共通の資源のほうだけで、こちらは一方が使っている間もう一方は待たされます。判定の軸は、その待ちがいつからいつまで生じるかという一点なので、時間の線を二本引いて並べます。開始から 10 の時点で最初の処理を終えたタスクが資源を取り、60 まで押さえます。もう一方は 40 の時点で資源を求めますが空いていないので、60 まで 20 のあいだ待たされます。60 で資源が空くと、先に使っていたほうは残りの処理に移って 120 で終わり、待っていたほうは 110 まで資源を使ってから残りの処理に移り 140 で終わります。設問が問うているのは二つとも終わるまでなので、遅いほうの 140 が答えになります。

ほかの選択肢はなぜ違うのか

出典:平成26年度 秋期 基本情報技術者試験 午前 問17(改変:原典の図表をテキストに書き起こした)

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)