基本情報技術者 2010年 秋期 午前(科目A) 問14
問題文
表に示す仕様の磁気ディスク装置において、1,000バイトのデータの読取りに要する平均時間は何ミリ秒か。ここで、コントローラの処理時間は平均シーク時間に含まれるものとする。

選択肢
ア:15.1(正解)
イ:16.0
ウ:20.1
エ:21.0
##: 磁気ディスク装置の読取り時間計算【午前2 解説】
要点まとめ
- 結論:1,000バイト読み取りの平均時間はシーク10ms+平均回転遅延5ms+転送0.1msで合計15.1msです。
- 根拠:回転数6,000rpmは1回転10ms、平均回転遅延はその半分の5ms、転送は1,000÷(10×10^6)=0.1msです。
- 差がつくポイント:コントローラ処理が平均シークに含まれる点を見落とさず回転遅延は「平均」で計算すること。
正解の理由
指定値をそのまま合算します。平均シーク時間が既にコントローラ処理時間を含むため加算不要で、回転遅延は平均で1回転の半分、転送時間はデータ量÷転送速度で求めます。したがって合計は 10ms(平均シーク) + 5ms(平均回転遅延) + 0.1ms(転送) = 15.1ms で、正解は ア です。
よくある誤解
- 回転遅延を「最大(1回転)」で計算してしまい平均(半回転)にしないミス。
- コントローラ処理を別途加算して二重にカウントする誤り。
- 転送時間を無視するか、単位を間違えて大きく見積もること(ms/秒の換算ミス)。
解法ステップ
- 回転数から1回転時間を求める:。
- 平均回転遅延は半回転:。
- 平均シーク時間は問題文の通り:(コントローラ処理含む)。
- 転送時間はデータ量÷転送速度:。
- 合計平均時間:。
選択肢別の誤答解説
- ア: 正解。上記計算どおり10 + 5 + 0.1 = 15.1 ms。
- イ: 16.0 — 回転遅延を正しく5msにしたが、転送時間を1.0msと誤って計算した(単位誤りや桁取り違い)。10 + 5 + 1 = 16。
- ウ: 20.1 — 回転遅延を平均ではなく最大(1回転=10ms)で計算してしまった場合の誤り。10 + 10 + 0.1 = 20.1。
- エ: 21.0 — 回転遅延を最大10msかつ転送時間を1msと誤認した複合ミス。10 + 10 + 1 = 21。
補足コラム
実務では小さな読み出し(1KBなど)では転送時間は非常に小さく、シーク時間と回転遅延が性能の支配因子になります。したがってランダムアクセス性能向上にはシーク最適化や遅延低減が重要です。SSDではこれらの機械的遅延がないため小さなランダム読み取りで大幅に高速化します。試験対策では「回転数→1回転時間→平均遅延は半分」をまず暗記すると速く解けます。
FAQ
Q1:回転遅延はなぜ半回転で計算するのですか?
A1:平均的にどの位置にデータが来るか分からないため、期待値(平均)は1回転時間の半分になります(均一分布仮定)。
A1:平均的にどの位置にデータが来るか分からないため、期待値(平均)は1回転時間の半分になります(均一分布仮定)。
Q2:「平均シーク時間にコントローラ処理を含む」とはどういう意味ですか?
A2:設問に明記されているため、別にコントローラ処理時間を加算せずに与えられた平均シーク時間だけを用います。
A2:設問に明記されているため、別にコントローラ処理時間を加算せずに与えられた平均シーク時間だけを用います。
Q3:転送速度の単位が「10 M バイト/秒」とあるがMB/s(メガバイト)と混同していい?
A3:問題文の表現をそのまま受け取り、10×10^6 B/s として計算すればよい。容量単位の桁(10^6か2^20か)で迷う場合は文脈に従うのが試験では安全です。
A3:問題文の表現をそのまま受け取り、10×10^6 B/s として計算すればよい。容量単位の桁(10^6か2^20か)で迷う場合は文脈に従うのが試験では安全です。
関連キーワード: 磁気ディスク、平均シーク時間、回転遅延、転送速度、ランダムアクセス、ディスク性能、回転数、転送時間、平均応答時間

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

