ソフトウェア
平成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ミリ秒
答えを選ぶ
出典:平成22年度 秋期 基本情報技術者試験 午前 問20(問題文は IPA の公開問題。解説は当サイト作成)
答えと解説を見る
正解:イ
覚える知識
排他資源を伴うタスク実行時間の計算
共通資源を排他的に使うタスクは、先に確保したタスクが解放するまで後のタスクが待たされ、完了時間は待ち時間を含めて求める。
この問題で必要なこと
Aは10ms後に資源Rを60msまで占有し、Bは40ms後にRを要求するがAが使用中のため60msまで待つ。Bは60〜110msでRを使い、その後CPU30msで140msに完了する。
ひっかけ
待ち時間を考慮せず単純に並列実行として120msなどと算出させる。
この知識の出題:本試験系 2 回・免除試験 4 回(公開問題での観測値)