午前問20
2台のCPUからなるシステムがあり、使用中でないCPUは実行要求のあったタスクに割り当てられるようになっている。このシステムで、二つのタスクA、Bを実行する際、それらのタスクは共通の資源Rを排他的に使用する。それぞれのタスクA、BのCPU使用時間、資源Rの使用時間と実行順序は図に示すとおりである。二つのタスクの実行を同時に開始した場合、二つのタスクの処理が完了するまでの時間は何ミリ秒か。ここで、タスクA、Bを開始した時点では、CPU、資源Rともに空いているものとする。
120 | |
140 | |
150 | |
200 |
『情報処理過去問.com』からiPhoneアプリがリリースされました!!
正解
- イ
解説
①タスクAのCPU処理が10ミリ秒後に先に終わります。
②先にCPU処理の終わったタスクAが10ミリ秒〜60ミリ秒(50ミリ秒)まで資源Rを占有します。
③40ミリ秒後にタスクBのCPU処理が終わります。
④排他的に資源Rを使用するので、タスクBは②が終わる40ミリ秒〜60ミリ秒(20ミリ秒)まで待ちとなります。
⑤タスクBが60ミリ秒〜110ミリ秒まで資源Rを占有します。
⑥タスクAが60ミリ秒〜120ミリ秒(60ミリ秒)までCPU処理を行います。
⑦タスクBが110ミリ秒〜140ミリ秒(30ミリ秒)までCPU処理を行います。
よって正解は140ミリ秒となります。
②先にCPU処理の終わったタスクAが10ミリ秒〜60ミリ秒(50ミリ秒)まで資源Rを占有します。
③40ミリ秒後にタスクBのCPU処理が終わります。
④排他的に資源Rを使用するので、タスクBは②が終わる40ミリ秒〜60ミリ秒(20ミリ秒)まで待ちとなります。
⑤タスクBが60ミリ秒〜110ミリ秒まで資源Rを占有します。
⑥タスクAが60ミリ秒〜120ミリ秒(60ミリ秒)までCPU処理を行います。
⑦タスクBが110ミリ秒〜140ミリ秒(30ミリ秒)までCPU処理を行います。
よって正解は140ミリ秒となります。