【基本情報技術者試験】テクノロジ系の計算問題対策(9)「タスクスケジューリング」

スポンサーリンク
IT系

今回のテーマは、「タスクスケジューリング」である。

タスクスケジューリング

WindowsやLinuxなどのOS (Operating System=基本ソフトウェア、オーエス)には、複数のプログラムを同時に実行する機能があり、これをマルチタスクと呼ぶ。タスク (task = 仕事) とは、プログラムのことである。タスクは、CPUを使ってデータの計算を行ったり、I/Oを使って周辺装置(キーボード、マウス、ディスプレイなど、コンピュータ本体に接続された装置) とデータの入出力を行ったりする。 I/O は、Input/Output (入力/出力)の略で、「アイオー」 と読む。

一般的なコンピュータシステムには、CPUが1つだけしかない。したがって、複数のタスクが同時にCPUを利用しようとすると、競合が生じてしまう。この競合を防ぐために、OSには、それぞれのタスクに順番にCPUを割り当てる機能が用意されている。これをタスクスケジューリングと呼ぶ。もしも、特定のI/Oが1つだけしかないコンピュータシステムの場合は、I/O も順番に割り当てられる。

下記の問題は、タスクスケジューリングに関する問題である。AとBの2つのタスクを同時に実行している。CPU は、1個だけである。I/O は、それぞれのタスクが同時に利用可能だったが、CPUと同様に、1つのタスクだけに割り当てられるように変更されている。したがって、CPUとI/Oを2つのタスクに順番に割り当てることになる。この問題を解くときには、タスクスケジューリングの図を描くとよいだろう。

【基本情報技術者試験】平成23年度特別試験・午前

答えを確認する

正解は ウ です。

もしも、タスクに優先順位が決められている場合は、優先順位が低いタスクがCPUやI/Oを使用中であっても、優先順位が高いタスクがCPUやI/Oを要求すれば、CPUやI/Oの割り当てが切り換わる。この問題では、優先順位が設定されていないので、あるタスクがCPUやI/Oを使用中に、別のタスクがCPUやI/Oを要求すると、別のタスクはCPUやI/Oが空くのを待つことになる。

問題文に示されている図は、左から右に向かって時間が経過している。1つの枠は、単位が示されていないが、何らかの時間を意味している。 問題文の図は、タスクAとタスクBの視点で描かれているが、これを下図のように、CPU と I/Oを2つのタスクに割り当てる OSの視点で描き換えれば、タスクスケジューリングの図になる。

タスクAとタスクBの両方が終了するまでに、全部で25個の枠がある。 その中の15個の枠で、CPUが使われている。 したがって、CPUの使用率 は、$15÷25=0.6(60$%) となる。


(参考)情報処理教科書 出るとこだけ!基本情報技術者[科目A][科目B]矢沢久雄 (著)翔泳社

コメント

タイトルとURLをコピーしました