今回は応用情報技術者令和3年秋期 午前問11のディスクデータ読み取りの計算問題を解いてみたいと思います。
問題
表に示す仕様の磁気ディスク装置において,1,000バイトのデータの読取りに要する平均時間は何ミリ秒か。ここで,コントローラーの処理時間は平均シーク時間に含まれるものとする。
回転数 | 6000回転/分 |
平均シーク時間 | 10ミリ秒 |
転送速度 | 10Mバイト/秒 |
- ア 15.1
- イ 16.0
- ウ 20.1
- エ 21.0
解き方
問われているのは「1,000バイトのデータの読取りに要する平均時間は何ミリ秒か」ということですのでまずはデータ読み取りにどんなプロセスが必要で、どのように計算するのかを整理します。
読み取り手順
1.HDDのヘッドが該当の位置に移動する(これをシーク時間と言います)
2.円盤が回転してヘッドの位置に来るまで待機します(サーチタイム)
3.データの転送を行います
このような形で進めます。今回は問題文中に磁気ディスク、シーク時間という言葉が書かれていたのでいわゆる回転式のHDDを想像できるとイメージしやすいと思います。
それでは詳細を見ていきましょう。
シーク時間
シーク時間は問題に書かれているままなので10ミリ秒ということで覚えておきます。
サーチタイム
サーチタイムは回転数から計算します。まず1秒で何回転するかを計算してみます。
6,000回転 ÷ 60秒なので100/秒となりますね。
すると1回転は1/100秒になります。サーチタイム(平均回転待ち時間)はヘッドの移動が完了してから円盤が回転してヘッドの位置に来るまでの時間ですから1回転の半分が平均になります。
1/200秒 = 5ミリ秒ですね。
データ転送時間
最後にデータ転送時間を計算します。まず10Mバイトは10,000,000バイトになります。そして10,000,000/秒なので1000バイトを転送する場合1/10,000秒で済むことがわかりますね。
※1000バイトを10,000倍すれば10,000,000になるのでその逆を計算すれば良いわけです。
したがってデータ転送時間は0.1ミリ秒となります。
読み取り時間
前述の3つの合計15.1ミリ秒が答えとなりアが正解となります。
コメントを残す