この問題は、複数のタスクがCPUとI/O装置をどのように利用するかをシミュレーションし、CPUの遊休時間を計算するものです。CPUの遊休時間は、CPUが処理を行っていない合計時間であり、タスクの実行順序と各処理に必要な時間を正確に把握することが重要です。
読み込み中...
読み込み中...
三つのタスクの優先度と、各タスクを単独で実行した場合の CPU と入出力装置(I/O)の動作順序と処理時間は、表のとおりである。三つのタスクが同時に実行可能状態になってから、全てのタスクの実行が終了するまでの、CPUの遊休時間は何ミリ秒か。ここで、I/O は競合せず、OS のオーバヘッドは考慮しないものとする。また,表の()内の数字は処理時間を表す。
結論 → 詳細 → 補足 の 3 層構成
この問題は、複数のタスクがCPUとI/O装置をどのように利用するかをシミュレーションし、CPUの遊休時間を計算するものです。CPUの遊休時間は、CPUが処理を行っていない合計時間であり、タスクの実行順序と各処理に必要な時間を正確に把握することが重要です。
正解のウ(3ミリ秒)となる理由を説明します。タスクAはCPU(2ms)→I/O(3ms)→CPU(1ms)の順で実行されます。タスクBはI/O(4ms)→CPU(2ms)の順です。タスクCはCPU(3ms)→I/O(2ms)の順です。
CPUの利用状況を時系列で追うと、タスクAの最初のCPU処理(2ms)が開始します。タスクBとCは同時に実行可能ですが、CPUはタスクAに使われているため、タスクAのCPU処理が終わるまで待機します。
タスクAのCPU処理(2ms)が終わった時点で、CPUは空きます。ここで、CPU優先度が高いタスクC(CPU 3ms)が実行されます。タスクBはI/O(4ms)から開始するため、CPUの待機はCPU処理が終了してから考慮されます。
タスクCのCPU処理(3ms)が開始し、タスクAはI/O(3ms)を開始します。タスクBはI/O(4ms)を開始しますが、I/Oは競合しないため、そのまま進行します。
タスクCのCPU処理が終了した時点で、CPUには遊休時間が発生する可能性があります。タスクAはI/O(3ms)を終え、CPU(1ms)に戻ります。タスクBはI/O(4ms)を終え、CPU(2ms)に戻ります。
CPUの利用順序は、タスクA(CPU 2ms)、タスクC(CPU 3ms)、タスクA(CPU 1ms)、タスクB(CPU 2ms)の順になります。
CPUの総稼働時間は2+3+1+2=8msです。
タスクAはCPUに合計2+1=3ms、I/Oに3ms、タスクBはCPUに2ms、I/Oに4ms、タスクCはCPUに3ms、I/Oに2msかかります。
全タスク完了までの最短時間は、最も処理時間の長いタスクBのI/O(4ms)とCPU(2ms)を考慮すると、タスクAのCPU→I/O→CPU、タスクBのI/O→CPU、タスクCのCPU→I/Oという並行処理を最大限に活かした場合、タスクAのCPU(2ms)、タスクCのCPU(3ms)、タスクAのI/O(3ms)、タスクBのI/O(4ms)、タスクAのCPU(1ms)、タスクBのCPU(2ms)という流れで、タスクAのCPU(2ms)終了後、タスクCのCPU(3ms)が開始、タスクAのI/O(3ms)開始、タスクBのI/O(4ms)開始。タスクCのCPU(3ms)終了、タスクAのI/O(3ms)終了、タスクBのI/O(4ms)終了。タスクAのCPU(1ms)開始、タスクBのCPU(2ms)開始。
CPUの総遊休時間は、タスクCのCPU処理(3ms)が開始してからタスクAのCPU処理(1ms)が開始されるまでの時間、およびタスクAのCPU処理(1ms)が終了してからタスクBのCPU処理(2ms)が開始されるまでの時間(ただし、タスクAのCPU処理終了がタスクBのCPU処理開始よりも早い場合)など、CPUがアイドル状態になる時間を考慮すると、3ミリ秒となります。
ア(1ミリ秒)は、CPUの処理順序の計算が不正確であるため誤りです。イ(2ミリ秒)も同様に、CPUの遊休時間を過小評価しています。エ(4ミリ秒)は、CPUの遊休時間を過大評価しているため、正解となりません。
解説は Google Gemini に IPA 公式の問題文・公式解答を入力して生成しています。 事実誤認・選択肢の取り違え・最新法令の反映漏れ等を含む可能性があるため、 重要な判断は必ず IPA 公式資料でご確認ください。
最終更新:
検証プロセス・誤り報告フローは 運営透明性レポートで公開しています。
この問題の理解を「分野全体の力」に広げるための足がかり
用語解説・選択肢分析・類題生成をその場で対話。クイズモードでは解答→解説がゼロ遷移。
コンピュータシステム の他の問題
基本情報技術者 と共通カリキュラムの他区分で「コンピュータシステム」分野を演習する
基本情報技術者 の同じ分野を年度をまたいで演習する
基本情報 科目B 木構造(二分木)のトレース練習|深さ優先と幅優先で全ノードをたどる
科目Bの頻出データ構造「木構造(二分木)」を、クラス・左右2本の参照・未定義の記法でトレース。深さ優先(行きがけ・通りがけ・帰りがけ)と幅優先(レベル順)の4つの巡回順を、小さな木で1ノードずつ手で追って攻略します。連結リスト・再帰・キューの集大成です。
基本情報 科目B 連結リスト(単方向リスト)のトレース練習|参照を1本ずつ付け替える
科目Bの頻出データ構造「連結リスト(単方向リスト)」を、クラス・メンバ変数(.)・参照・未定義の記法でトレース。先頭への追加・末尾までの走査・途中への挿入を、参照の付け替えを1本ずつ図と表で追って攻略します。配列との違い、付け替えの順序という最大の落とし穴を実演します。
基本情報 科目B スタックとキューのトレース練習|LIFOとFIFOを操作表で1つずつ追う
科目Bの頻出データ構造「スタック(後入れ先出し・LIFO)」と「キュー(先入れ先出し・FIFO)」を、プッシュ/ポップ・エンキュー/デキューの操作を表に書いて1つずつ追うトレースで攻略。同じ入力でも取り出す順番が逆になる理由、頂点・先頭・末尾ポインタの動き、つまずきを具体例で実演します。
基本情報技術者試験を取る意味はあるか|FEのメリットと「意味ない」と言われる理由を整理
基本情報技術者試験(FE)は「意味ない」と言われることがある資格です。取得メリットと「役に立たない」と言われる理由を、就職・実務・上位試験への接続の3観点で整理し、誰に向くのかを正直に解説します。