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

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

 ア  120
 イ  140
 ウ  150
 エ  200


答え イ


解説
2台のCPUをそれぞれCPU#1、CPU#2とし、タスクAの処理はCPU#1、タスクBの処理はCPU#2で行うものとする。
タスクA、Bが実行を開始すると、CPU#1、CPU#2はともに空いているのでそれぞれ処理が始まり、10ミリ秒後にタスクAのCPU処理が終わり、資源Rを使用する。
40ミリ秒後にタスクBのCPU処理が終わり資源Rを使用したいが、この時点で資源RはタスクAが使用しているので、タスクAの処理が終わってから(60ミリ秒後に)、タスクBは資源Rの使用を開始する。
資源Rの使用が終わったタスクA、BはCPU#1、CPU#2の処理を行い、これを図にすると
 
になり、タスクA、Bの処理が完了するのは140ミリ秒後(イ)である。


キーワード
・排他制御

キーワードの解説

戻る 一覧へ 次へ