
基本情報技術者試験の勉強をしていたんですが、磁気ディスクのアクセス時間を求める問題がわからなくて困っています💦

アクセス時間を求める問題は、まず磁気ディスク装置にデータを読み書きする流れを理解しないとだね!

磁気ディスク装置にデータを読み書きする流れですか、、、わかりやすく教えて下さい!

よし、じゃあ今回は磁気ディスク装置へのデータの読み書きの流れから、アクセス時間の求め方までを解説していくよ!
- 磁気ディスク装置へのデータの読み書きの流れについて
- 磁気ディスクへのアクセス時間の求め方
- シーク時間とサーチ時間について
磁気ディスクとは

ハードディスクや、フロッピーディスク(若い人だと知らないかも)の中にある、円盤状の記憶装置のことです。記録するところが磁気になっているので、磁気ディスクと呼びます。(割とそのままです)
ハードディスクと磁気ディスクの構造

基本情報技術者試験でしばしば出題される「アクセス時間」や「平均待ち時間」を算出する問題はハードディスクや磁気ディスクの構造を理解していると簡単に解ける問題です。磁気ディスク装置の記憶領域の構造を説明しましょう。
磁気ディスクの記憶領域の名称

磁気ディスクの表面には図でいうところの水色の部分のような記憶領域があり、トラックと呼びます。
トラックを切り刻んだもの一つ一つをセクタと呼び、セクタ単位では細かすぎる為、セクタをまとめたブロックを単位に指定データの読み書きを行います。
大容量の磁気ディスク装置では、ディスクは1枚ではなく、複数枚取り付けられていることが有ります。
それぞれのディスクにデータを読み書きするためのヘッドが有ります。
同じ位置にあるトラックはそれらをつなぐと筒状に見えるのでシリンダと呼ばれます。
- セクタ・・・記憶領域の最小単位を指す
- トラック・・・磁気ディスク1枚のドーナツ状の形の領域を指す
- シリンダ・・・トラックが複数枚重なった部分の領域を指す
磁気ディスクのアクセス時間

磁気ディスクのの性能を見る指標の一つとしてアクセス時間が有ります。
アクセス時間とはディスクからデータを読み取るまでの時間、もしくは書き込むまでの時間のことです。
アクセス時間は具体的に以下のように分けられます。
- ヘッドがシリンダを移動して所定のトラックにたどりつくまでの時間(平均シーク時間)
- ヘッドが所定のセクタ(ブロック)に到達するまでの回転時間(平均サーチ時間)
- データを転送完了までにかかる時間(転送速度)
平均シーク(位置取り)時間と平均サーチ(回転待ち)時間
アクチュエーターによってアームが移動し、その先に付いている磁気ヘッドが所定の位置取りを完了させるまでの時間を位置決め時間と呼んだり、かっこよくシーク時間と呼んだりします。試験で出てくるときは平均シーク時間という平均を使って時間を求めることがほとんどです。
そして磁気ヘッドのいちが決まり、所定のセクタやブロックからデータの書き込みを始めるまでの読み込み(書き込み)スタート待ち状態を回転待ち時間と呼んだり、サーチ時間と呼びます。
計算で利用するときはシーク時間と同じように平均サーチ時間を用いるのですが、平均サーチ時間は磁気ディスクが一回転する時間の半分を使います。
アクセス時間を求める過去問にチャレンジ

アクセス時間や、平均シーク時間などを求めるような問題はしばしば出題されています。しっかり解けるようにしておきましょう。
データの読み取りに要するアクセス時間を求める問題
表に示す仕様の磁気ディスク装置において,1,000バイトのデータの読取りに要する平均時間は何ミリ秒か。ここで,コントローラの処理時間は平均シーク時間に含まれるものとする。
回転数 | 6,000回転/分 |
平均シーク時間 | 10ミリ秒 |
転送速度 | 10Mバイト/秒 |
ア.15.1 イ.16.0 ウ.20.1 エ.21.0
出典:平成22年 秋期 問14
ではまず一問目をデータの読み取りに要するアクセス時間を求める問題の解説していきます。
「1,000バイトのデータの読取りに要する平均時間」の事をアクセス時間と呼ぶのは先述しているので、この問題はアクセス時間を求める問題と分かります。アクセス時間は
アクセス時間 = 位置決め時間(シーク時間) + 回転待ち時間(サーチ時間) + 転送にかかる時間(転送速度)
で求められるため、一つずつ求めていきましょういきます。
まずは位置決め時間(シーク時間)は今回表に書いてある通りなので10ミリ秒
回転待ち時間は磁気ディスクが1回転する時間の半分なので1回転するのにかかる時間をまず求めます。6000回転/分 とあるので、1秒間では0.01秒、つまり10ミリ秒。このままだと1回転の時間であるため平均回転待ち時間は半分の5ミリ秒。
続いて転送にかかる時間を求めていきます。問題文に10Mバイト/秒とあるので1ミリ秒あたり、10000バイト転送に時間がかかることが分かります。今回の1000バイトのデータの読み取りなので、0.1ミリ秒の転送に時間がかかります。
よってアクセス時間 = 10 + 5 + 0.1 = 15.1ミリ秒 ⇒ アが答えとなります。
磁気ディスクの平均待ち時間を求める問題
回転数が4,200回/分で,平均位置決め時間が5ミリ秒の磁気ディスク装置がある。この磁気ディスク装置の平均待ち時間は約何ミリ秒か。ここで,平均待ち時間は,平均位置決め時間と平均回転待ち時間の合計である。
ア.7 イ.10 ウ.12 エ.14
出典:平成22年春期 問12
2問目は磁気ディスクの平均待ち時間を求める問題です。まずは問題文をしっかり読みます。
「磁気ディスク装置の平均待ち時間は約何ミリ秒か。ここで、平均待ち時間は,平均位置決め時間と平均回転待ち時間の合計である。」とストレートに書いてあるので、平均位置決め時間と平均回転待ち時間を求めていきましょう。
平均位置決め時間は問題文に書いてあるので ⇒ 5ミリ秒
平均回転待ち時間は磁気ディスクが1回転する時間の半分の時間なので、4200回/分より、
60秒 ÷ 4200回転 =0.01428秒/回 = 14.2ミリ秒
1回転にかかる時間が14.2ミリ秒と分かったので、平均回転待ち時間時間はその半分の約7ミリ秒。
よって答えは、5ミリ秒 + 7ミリ秒 = 12ミリ秒 ⇒ ウが答えとなります。
平均アクセス時間を求める問題
回転速度が5,000 回転/分,平均シーク時間が20ミリ秒の磁気ディスクがある。この磁気ディスクの1トラック当たりの記憶容量は,15,000バイトである。このとき,1ブロックが4,000バイトのデータを,1ブロック転送するために必要な平均アクセス時間は何ミリ秒か。
ア.27.6
イ.29.2
ウ.33.6
エ.35.2
出典:平成20年秋期 問21
3問目は平均アクセス時間を求める問題ですが、転送時間がちょっと変わっています。まずは問題文を読んでいきます。
「1ブロック転送するために必要な平均アクセス時間は何ミリ秒か。」とあるので、平均待ち時間(シーク時間 + サーチ時間) + 転送時間 で求められることが分かります。
平均シーク時間は問題文より 20ミリ秒。
平均サーチ時間は1回転する時間の半分より、60 ÷ 5000 ÷2 = 0.006
つまり6ミリ秒。
この問題のポイントは転送にかかる時間の求め方。1トラックあたりの記憶領域から、転送にかかる時間を求めるのがポイントです。
1回転するのにかかる時間が12ミリ秒と分かっていて、「1トラック当たりの記憶容量は,15,000バイトである。」とあるので、1回転でデータを読み書きすることができるのが15000バイトという事が分かる。
では4000バイトのデータを転送するには、4000 ÷ 15000 回転必要と分かるので、12ミリ秒 × (4000 ÷ 15000) = 3.2ミリ秒
よって答えは、20 + 6 + 3.2 = 29.2ミリ秒 ⇒ イ。
トラックってなんだっけ?となった人はこちらの記事でトラックに関する解説をしていますので、よろしければ読んでみてください!
まとめ
今回は磁気ディスク装置のアクセス時間の求め方を解説していきました。コツさえ覚えてしまえば難しい計算はないので、しっかり理解しておきましょう。
さらに基本情報技術者試験を確実に1発で合格したいのであれば、参考書やオンライン学習サービスを利用するのがおすすめです。
以下の記事を読んで、1発で基本情報技術者試験に合格しましょう!
合わせて読みたい
-
-
基本情報技術者試験に合格するためのオンライン講座おすすめ3選
続きを見る
合わせて読みたい
-
-
【基本情報】独学で合格するためのおすすめ参考書5選
続きを見る
- 磁気ディスク装置はデータを読み書きする部分が磁性材料でできている装置!
- 磁気ディスク装置のアクセス時間は平均待ち時間と転送時間の合計!
⇒平均待ち時間は位置決め時間(シーク時間)と回転待ち時間(サーチ時間)から成る - 転送時間は磁気ディスクの1トラックの記憶領域と1回転する時間から求めることもある!
⇒1トラックの記憶領域15000バイト、1回転にかかる時間が12ミリ秒なら15000バイト転 送するのにかかる時間は12ミリ秒!