二つのタスクの優先度と各タスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は、表のとおりである。二つのタスクが同時に実行可能状態になってから、全てのタスクの実行が終了するまでの経過時間は何ミリ秒か。ここで、CPUは1個であり、I/Oの同時動作はできないものとし、OSのオーバヘッドは考慮しないものとする。また、表の()内の数字は処理時間を示すものとする。

【問題】

二つのタスクの優先度と各タスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は、表のとおりである。二つのタスクが同時に実行可能状態になってから、全てのタスクの実行が終了するまでの経過時間は何ミリ秒か。ここで、CPUは1個であり、I/Oの同時動作はできないものとし、OSのオーバヘッドは考慮しないものとする。また、表の()内の数字は処理時間を示すものとする。

優先度 ┃ 単独実行時の動作順序と処理時間(ミリ秒)

高   ┃ CPU(2)→I/O(7)→CPU(3)→I/O(4)→CPU(3)

低   ┃ CPU(2)→I/O(3)→CPU(2)→I/O(2)→CPU(3)

【解答】

CPUは1個であるから、同時動作は出来ないし、I/Oも同時動作は出来ないので、それを前提として考慮する。

ここでは分かりやすいように、以下のようにラベルを付ける。

優先度 ┃ 単独実行時の動作順序と処理時間(ミリ秒)

高   ┃ ①CPU(2)→②I/O(7)→③CPU(3)→④I/O(4)→⑤CPU(3)

低   ┃ ⑥CPU(2)→⑦I/O(3)→⑧CPU(2)→⑨I/O(2)→⑩CPU(3)

動作の順は、次の通りになる。

まず最初に①が行われ、そのまま②に移動する。

②の間に⑥が完全に行われるので、⑦は②の後すぐに起動になる。

⑦の間に③が同時に進行する。

⑧が③の後すぐに起動になる。

このとき、同時に④も起動し、④が⑧より後に終わる。

よって④の後すぐに⑤が起動し、⑨もこれと同時に起動する。

この時、⑨が先に終了し、⑤がその後で1秒使用して終了する。

そして、⑤の後に⑩が起動する。

よって、実質の時間は、①→②→③→④→⑤→⑩の経過時間となる。

実際に計算すると、

2ミリ秒+7ミリ秒+3ミリ秒+4ミリ秒+3ミリ秒+3ミリ秒 = 22ミリ秒

となり、解答は22ミリ秒となる。

↓クリックしていただけると励みになります↓
にほんブログ村 株ブログ 株日記へ にほんブログ村 メンタルヘルスブログ 統合失調症へ にほんブログ村 為替ブログ 為替日記へ

シェアする

  • このエントリーをはてなブックマークに追加

フォローする