修了試験 2016-12-11実施分 基本情報技術者試験 問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ミリ秒
正答2
解説
正解は2です。 2台のCPUと、排他的に使う共通資源Rを持つシステムで、二つのタスクの完了時刻を求める問題です。 CPUは2台あるので、二つのタスクは同時にCPUを使えます。 資源Rは同時に一つのタスクしか使えないので、使用中なら待つ必要があります。 【計算】 タスクAは、0〜10ミリ秒にCPUを使います。 タスクAは、10〜60ミリ秒に資源Rを使います。 タスクAは、60〜120ミリ秒にCPUを使って終了します。 タスクBは、0〜40ミリ秒にCPUを使います。 タスクBは40ミリ秒で資源Rが必要になりますが、Aが使用中なので60ミリ秒まで待ちます。 タスクBは、60〜110ミリ秒に資源Rを使います。 タスクBは、110〜140ミリ秒にCPUを使って終了します。 110〜120ミリ秒はAとBが同時にCPUを使いますが、CPUは2台あるので待ちは生じません。 両方の処理が完了するのは140ミリ秒です。 【選択肢別解説】 1:× 120ミリ秒はタスクAが終了する時刻です。 タスクBはまだ処理中です。 2:○ タスクBが資源Rを20ミリ秒待つため、全体の完了は140ミリ秒になります。 3:× 150ミリ秒にはなりません。 CPUが2台あるので、Bの後半のCPU処理は110ミリ秒からすぐに始められます。 4:× 200ミリ秒にはなりません。 Bが待つのは資源Rの20ミリ秒だけなので、完了は140ミリ秒です。 【ポイント】 排他資源がある問題では、資源を使う区間を時間軸に並べ、重なる部分だけ後ろへずらして考えます。まとめて解く
修了試験 2016-12-11実施分を通しで解く(80問)→