平成26年 秋期 基本情報技術者 午前 問17

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ミリ秒後(イ)である。


キーワード
・排他制御

キーワードの解説
  • 排他制御
    コンピュータの動作において、複数の利用者(プロセス、ジョブ)がアクセス可能な共有資源に対し、複数の利用者からの同時アクセスにより競合が発生する場合に、ある利用者に資源を独占的に利用させている間は、他の利用者がアクセスできないようにする事で整合性を保つ処理の事です。

もっと、「排他制御」について調べてみよう。

戻る 一覧へ 次へ