平成28年度秋期 応用情報技術者試験 午前 問17

分野:ソフトウェア(OS・タスク/プロセス管理・記憶管理・ファイル管理・OSS・ミドルウェア)|実際に出題されたIPA過去問題

五つのタスクを単独で実行した場合のCPUと入出力装置(I/O)の動作順序と処理時間は,表のとおりである。優先度"高"のタスクと,優先度"低"のタスクのうち一つだけを同時に実行する。実行を開始してから,両方のタスクの実行が完了するまでの間のCPUの遊休時間が最も短いのは,どの優先度"低"のタスクとの組合せか。ここで,I/Oは競合せず,OSのオーバヘッドは考慮しないものとする。また,表の( )内の数字は処理時間を示すものとする。

問題の図表(IPA公式問題冊子より引用)
図表:IPA公式問題冊子より
  1.  CPU(2)→I/O(5)→CPU(2)→I/O(2)→CPU(3)
  2.  CPU(3)→I/O(2)→CPU(2)→I/O(3)→CPU(2)
  3.  CPU(3)→I/O(2)→CPU(3)→I/O(1)→CPU(4)
  4.  CPU(3)→I/O(4)→CPU(2)→I/O(5)→CPU(2)
解答・解説を見る

正解:ウ

AI解説

優先度の高いタスクがI/O実行中はCPUが空くため、その間に優先度の低いタスクのCPU処理をうまく重ねられる組合せほどCPU遊休時間が短くなる。高優先度タスクのCPU・I/Oの時間経過を横軸に描き、各候補タスクのCPU処理が高優先タスクのI/O待ち時間にどれだけはまるかをタイムチャートで検証すると、ウの組合せが最もCPUの空き時間を埋められ、遊休時間が最短となる。 ア: アのタスクはCPU処理とI/Oのタイミングが高優先度タスクのI/O期間とかみ合わず、CPUの空き時間が残る。 イ: イのタスクも一部は重なるが、両タスク完了までのCPU遊休時間はウより長くなる。 ウ: 正しい。CPU(3)→I/O(2)→CPU(3)→I/O(1)→CPU(4)の処理タイミングが高優先度タスクのI/O待ちと最もよく重なり、CPU遊休時間が最短になる。 エ: エのタスクはI/O時間が長く、高優先度タスクとI/Oが重ならない部分でCPUが遊休となる時間が長い。 💡 この種の問題はタイムチャート(ガントチャート)を書くのが確実。「優先度高のタスクがCPUを使っていない時間帯」を先に塗り、そこに低優先タスクのCPU処理を割り付けて空きを数える。

出典:平成28年度 秋期 応用情報技術者試験 午前 問17 / 独立行政法人情報処理推進機構(IPA)
※Web掲載用に表記を一部変更しています。図表はIPA公式問題冊子から引用しています。著作権はIPAに帰属します。
📱 演習アプリで解く(無料・登録不要・2,640問収録)

「ソフトウェア」分野の攻略ポイント

OS・タスク/プロセス管理・記憶管理・ファイル管理・OSS・ミドルウェアが範囲です。ページ置換えアルゴリズムやタスクスケジューリングは手順が決まっているので、シミュレーションの練習をすれば確実に得点源になります。

ソフトウェアの攻略ポイントをすべて見る(要点6項目・ひっかけ3項目)→

同じ分野(ソフトウェア(OS・タスク/プロセス管理・記憶管理・ファイル管理・OSS・ミドルウェア))の過去問