IPA過去問ドリル

平成22年度 秋期 基本情報技術者試験 午前 問20

テクノロジ/システム構成要素

2台のCPUからなるシステムがあり,使用中でないCPUは実行要求のあったタスクに割り当てられるようになっている。このシステムで,二つのタスクA,Bを実行する際,それらのタスクは共通の資源Rを排他的に使用する。それぞれのタスクA,BのCPU使用時間,資源Rの使用時間と実行順序は次のとおりである。二つのタスクの実行を同時に開始した場合,二つのタスクの処理が完了するまでの時間は何ミリ秒か。ここで,タスクA,Bを開始した時点では,CPU,資源Rともに空いているものとする。 タスクA:CPU10ミリ秒 → 資源R 50ミリ秒 → CPU 60ミリ秒 タスクB:CPU40ミリ秒 → 資源R 50ミリ秒 → CPU 30ミリ秒 (注:本サイトでは原問題の図を文字表記に変換しています)

出典:平成22年度 秋期 基本情報技術者試験 午前 問20

正解:イ

解説

資源Rは排他的に使用されるため,先に資源Rを使用開始したタスクが優先され,後から要求したタスクは待たされます。タスクAはCPU10ミリ秒の処理後,時刻10から資源Rを50ミリ秒使用し(時刻60まで),その後CPUで60ミリ秒処理して時刻120に完了します。タスクBはCPU40ミリ秒の処理を終えた時刻40の時点で資源Rを使おうとしますが,Aが時刻60まで資源Rを使用中のため待たされ,時刻60から50ミリ秒(時刻110まで)資源Rを使用し,その後CPUで30ミリ秒処理して時刻140に完了します。両タスクが完了するまでの時間は,遅い方のタスクBの完了時刻である140ミリ秒です。

選択肢ごとの解説

  • 誤り。120は,タスクAの完了時刻であり,タスクBが資源Rの競合で待たされることを考慮していません。
  • 正しい。資源Rの競合によってタスクBが待たされるため,両タスクの完了までに140ミリ秒を要します。
  • 誤り。150は,資源Rの待ち時間や実行順序を誤って計算した場合に得られる値です。
  • 誤り。200は,資源Rの競合による待ち時間を二重に計算するなど,計算を誤った場合に得られる値です。
基本情報技術者の過去問を演習モードで解く