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

平成22年度 秋期 午前 問20

ソフトウェア

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

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

解説

資源Rの待ちだけが効いて140ミリ秒で終わります。

処理装置が2台あるので、2つのタスクのCPU処理は取り合いになりません。取り合いになるのは、排他的に使うと決められた資源Rだけです。そこで時間の流れを追います。一方のタスクは10ミリ秒のCPU処理を終えた時点で資源Rを要求し、まだ空いているのでそのまま50ミリ秒使います。もう一方は40ミリ秒のCPU処理を終えた時点で資源Rを要求しますが、先に使っている側が終わるまで20ミリ秒待つことになります。待ってから50ミリ秒使い、その後に30ミリ秒のCPU処理をして終わります。先に資源を使った側は残る60ミリ秒のCPU処理を並行して進めるので、最後に終わるのは待たされた側です。判定の軸は、待ちが生じるのが資源の取り合いだけであることと、両方が終わる時刻を見ることです。

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

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

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