基本情報技術者試験 平成30年春 午前問16 解説
基本情報技術者試験午前の解説をしていきます。
三つのタスクA~Cの優先度と、各タスクを単独で実行した場合のCPUと入出力(I/O)装置の動作順序と処理時間は、表のとおりである。A~Cが同時に実行可能状態になって3ミリ秒経過後から7ミリ秒間のスケジューリングの状況を表したものはどれか。ここで、I/Oは競合せず、OSのオーバーヘッドは考慮しないものとする。また、表中の()内の数字は処理時間を表すものとし、解答軍の中の”待ち”は、タスクが実行可能状態にあり、CPUの割り当て待ちであることを示す。
解答:ウ
解説:
図に出ていない0ミリ秒から3ミリ秒までの流れをふまえて、3ミリ秒以降のタスクの割り当てを考えていく。
まずタスクの優先度がA>B>Cの順であることに着目すると、タスクAがCPUを優先的に使えることがわかる。つまり最初の0ミリ秒から2ミリ秒間でタスクAはCPUの処理を終え、I/O処理(2ミリ秒)に移る。つまり、タスクAは2ミリ秒から4ミリ秒まではI/O処理である。
タスクAのCPU処理が終わると、次にCPUを使えるのはタスクBであるから、タスクBはタスクAがI/O処理をしている2ミリ秒目から4ミリ秒目まででCPUを使用できる。ただし、タスクAがI/O処理を終えると、再度CPU処理が必要なので、4ミリ秒目から6ミリ秒目まではタスクAに再びCPUを譲り渡すことになる。
この流れを表しているのは選択肢ウである。