ソフトウェア

基本情報技術者試験 科目A免除 修了試験 20140727 実施分 問16

二つのタスク A,B を単独で実行した場合の CPU と入出力装置(I/O)の動作順序と処理時間は,表のとおりである。次の条件で二つのタスクが同時に実行可能状態になってから,タスク B の実行が完了するまでの時間は何ミリ秒か。ここで,表の( )内の数字は処理時間を表すものとする。 〔条件〕 (1) タスク A,B は同一の I/O を使用し,タスク A が先に実行される。 (2) CPU 処理を実行中のタスクは,入出力処理を開始するまでは処理を継続し,中断されない。 (3) I/O も入出力が終了するまで処理を中断されない。 (4) その他のオーバヘッドは考慮しない。
タスク単独実行時の動作順序と処理時間(単位 ミリ秒)
ACPU(20) → I/O(30) → CPU(20) → I/O(40) → CPU(10)
BCPU(10) → I/O(30) → CPU(20) → I/O(20) → CPU(20)
答えを選ぶ

出典:基本情報技術者試験 科目A免除 修了試験 20140727 実施分 問16(問題文は IPA の公開問題。解説は当サイト作成)

答えと解説を見る

正解:ウ

覚える知識

CPUとI/O競合下のタスク実行時間計算

共用I/Oがある場合、後のタスクは先のタスクのI/O終了まで待たされるため、時系列で追って完了時間を求める。

この問題で必要なこと

I/Oは共用で中断されない。タスクAを先に実行し、B はCPU終了後、AのI/O終了待ちでI/Oを使う。時系列を追うとBの完了は160ミリ秒となる。

ひっかけ

I/O待ちの競合を無視して合計時間を単純に足してしまう。

この知識の出題:本試験系 0 回・免除試験 7 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「スケジューリングと排他制御の計算」で学ぶ

同じ知識の過去問