磁気ディスクの性能計算と補助記憶装置
磁気ディスクの「平均アクセス時間」と「転送速度」を、表の数値から自力で計算できるようになる。あわせて、シーク最適化のヘッド移動量、デフラグ、ストリーマ、CD-R の記録方式を選択肢から見分けられるようになる。
平均アクセス時間の計算は免除試験で10回、本試験系でも出題されている定番の計算問題です。解き方は「待ち+移動+転送」の足し算だけなので、手順を覚えれば確実に得点できます。
このレッスンで稽古する(用語チェック・過去問)結論:アクセス時間は「探す+待つ+読む」の足し算
磁気ディスクからデータを読む時間は 平均シーク時間+平均回転待ち時間+データ転送時間 の3つの合計です。これを 平均アクセス時間 と呼びます。試験の計算問題は、ほぼこの式に数値を入れるだけで解けます。
たとえるなら、レコードプレーヤーで聴きたい曲を探す動作です。針を曲の溝の位置まで動かし(シーク)、曲の頭が針の下に回ってくるのを待ち(回転待ち)、曲を聴く(転送)、という3段階になります。
磁気ディスクの部品と単位
磁気ディスクは、回転する円盤(プラッタ)の上を ヘッド(読み書きする針のような部品)が動いてデータを読み書きする装置です。円盤上の同心円1周分を トラック、トラックを扇形に区切った最小単位を セクタ と呼びます。複数の円盤で同じ半径にあるトラックをまとめたものが シリンダ です。
| 用語 | 何か | 計算での使い方 |
|---|---|---|
| 回転数(rpm) | 1分あたりの回転数 | 60,000ms ÷ 回転数=1回転の時間(ms) |
| トラック | 円盤上の1周分 | 1回転で1トラック分のデータが読める |
| セクタ | トラックを区切った単位 | セクタ数×セクタ長=1トラックの容量 |
| シリンダ | 各円盤の同じ位置のトラックの束 | ヘッド移動量はシリンダ番号の差で数える |
覚える換算:6,000回転/分 → 1秒に100回転 → 1回転は 10ms。5,000回転/分なら1回転は 60,000÷5,000=12ms です。
平均アクセス時間の3要素(最重要)
| 要素 | 意味 | 求め方 |
|---|---|---|
| 平均シーク時間(平均位置決め時間) | ヘッドを目的のトラックまで動かす時間 | 問題文にそのまま書いてある |
| 平均回転待ち時間(サーチ時間) | 目的のセクタがヘッドの下に来るまで待つ時間 | 1回転の時間 ÷ 2 |
| データ転送時間 | 実際にデータを読み書きする時間 | データ量 ÷ 転送速度、または 1回転の時間 ×(データ量 ÷ 1トラックの容量) |
回転待ちが「半回転」なのは、運が良ければすぐ来る(0回転)、悪ければほぼ1回転待つので、平均すると半回転 になるからです。試験では、この半分にするのを忘れた数値が必ず選択肢に入っています。
転送時間の求め方は問題によって2通りあります。転送速度が書いてあれば割り算、1トラックの容量が書いてあれば「1回転で1トラック読める」と考えて比例で求めます。
転送速度:1秒で何トラック読めるか
転送速度=1トラックの容量 × 1秒あたりの回転数 です。1回転するとヘッドの下を1トラック分のデータが通過するので、1秒間の回転数を掛ければ1秒で読める量になります。
例:6,000rpm、200セクタ/トラック、500バイト/セクタなら、1トラック=200×500=100,000バイト、1秒に100回転なので 100,000×100=10Mバイト/秒 です。rpm は 分あたり なので、60で割って秒あたりに直すのを忘れないでください。
シーク最適化:エレベータのようにヘッドを動かす
シーク最適化 は、溜まった入出力要求をシリンダ番号順に並べ替えて、ヘッドをなるべく一方向に動かす方法です。来た順(受付順)に処理するとヘッドが行ったり来たりして無駄な移動が増えるので、エレベータのように「上がるときは上の階を全部回ってから下がる」動きにします。
ここで扱う方式(過去問の条件)は、進行方向に要求がなくなった時点で折り返します(LOOK 方式に当たる)。 厳密な SCAN 方式は、要求がなくてもディスクの端(最内・最外シリンダ)まで進んでから折り返すので、移動量が変わります。問題文の条件をよく読み、「進行方向で最も遠い要求」で折り返すのか、「ディスクの端」まで行くのかを確かめてください。
| 方式 | 動き方 | 折り返し地点 |
|---|---|---|
| 受付順(FCFS) | 来た順に処理 | 折り返しの考え方なし(行ったり来たり) |
| SCAN(厳密) | 一方向に処理しながら進む | ディスクの端まで行ってから |
| LOOK(過去問の条件) | 一方向に処理しながら進む | 進行方向で最も遠い要求の位置 |
性能維持の措置:デフラグとスキャンディスクは別物
ファイルの記録と削除を繰り返すと、1つのファイルがディスク上のあちこちに分かれて記録されます(フラグメンテーション=断片化)。読むたびにシークが増えて遅くなるので、デフラグ(ディスク最適化) でファイルを連続した領域に並べ直します。
| 措置 | 目的 | 断片化に効くか |
|---|---|---|
| デフラグ(ディスク最適化) | 断片化したファイルを連続領域に並べ直す | 効く |
| スキャンディスク | ディスクのエラー(不良セクタなど)を検査・修復する | 効かない |
| ごみ箱へ移動 | 削除予定にするだけ。ごみ箱を空にするまで領域は空かない | 効かない |
| フォーマット(初期化) | ディスクを初期化し、データを全部消す | 性能維持の定期作業ではない |
ストリーマと CD-R:記録方式の見分け
ストリーマ は磁気テープ装置で、テープを止めずに 連続して 読み書きするバックアップ専用の装置です。ブロックごとに止めたり動かしたりせず、部分的な書換えもできません。
CD-R は、有機色素 を塗った層にレーザ光を当てて焦げ跡(ピット)を作り、記録します。1回だけ書き込める(追記型)光ディスクです。
| 媒体 | 記録方式 | 書換え |
|---|---|---|
| 磁気ディスク | 磁気ヘッドで磁性体の磁化の向きを変える | 何度でも可 |
| CD-R | レーザ光で 有機色素 に焦げ跡(ピット)を作る | 1回だけ(追記) |
| CD-RW | レーザ光で記録層を 相変化(結晶⇔非結晶)させる | 何度でも可 |
| MO(光磁気ディスク) | レーザ光で熱した記録膜を 磁気ヘッド で磁化する | 何度でも可 |
| ストリーマ(磁気テープ) | テープに 連続して 磁気記録する | 部分書換え不可 |
計算の流れ(図)
flowchart LR
A["回転数(回転/分)"] --> B["1回転の時間=60,000ms÷回転数"]
B --> C["平均回転待ち=1回転÷2"]
B --> D["転送時間=1回転×データ量÷1トラック容量"]
E["平均シーク時間(問題文)"] --> F["平均アクセス時間=シーク+回転待ち+転送"]
C --> F
D --> F
試験での問われ方
- アクセス時間の計算:選択肢には「回転待ちを1回転分で計算した値」「転送時間を足し忘れた値」「回転待ちを足し忘れた値」が並びます。3要素を全部足したか、回転待ちを半分にしたかを最後に確認します。
- 転送速度の計算:rpm を秒に直し忘れた値(60倍ずれた値)が選択肢に入ります。
- ヘッド移動量:受付順で計算した値や、折り返し地点を間違えた値が選択肢に入ります。
- 用語問題:スキャンディスクとデフラグ、CD-R と CD-RW・MO の記録方式、ストリーマとランダムアクセス装置の特徴を入れ替えた選択肢で引っかけます。
転送速度が与えられたときの平均アクセス時間(6,000回転/分・シーク10ms・10MB/秒・1,000バイト)
| 回転数 | 6,000 回転/分 |
|---|---|
| 平均シーク時間 | 10 ミリ秒 |
| 転送速度 | 10 M バイト/秒 |
ア 15.1
イ 16.0
ウ 20.1
エ 21.0
解き方と答えを見る
- 1回転の時間を求める:60,000ms ÷ 6,000回転 = 10ms
- 平均回転待ち時間を求める:10ms ÷ 2 = 5ms
- データ転送時間を求める:1,000バイト ÷ 10,000,000バイト/秒 = 0.0001秒 = 0.1ms
- 3つを足す:平均シーク時間10ms + 回転待ち5ms + 転送0.1ms = 15.1ms
- 確認:回転待ちを1回転分(10ms)にすると20.1ms(ウ)になる。半回転なので15.1ms
答え:ア:15.1ミリ秒
1トラックの容量から転送時間を求める平均アクセス時間(5,000回転/分・シーク20ms・15,000バイト/トラック・4,000バイト)
ア 27.6
イ 29.2
ウ 33.6
エ 35.2
出典:基本情報技術者試験 科目A免除 修了試験 20160724 実施分 問12
解き方と答えを見る
- 1回転の時間を求める:60,000ms ÷ 5,000回転 = 12ms
- 平均回転待ち時間を求める:12ms ÷ 2 = 6ms
- 1回転で1トラック(15,000バイト)読めるので、4,000バイトの転送時間は 12ms × 4,000 ÷ 15,000 = 3.2ms
- 3つを足す:20ms + 6ms + 3.2ms = 29.2ms
答え:イ:29.2ミリ秒
同じ型の確認問題(6,000回転/分・位置決め20ms・20kバイト/トラック・4kバイト)
ア 20
イ 22
ウ 27
エ 32
出典:基本情報技術者試験 科目A免除 修了試験 20230122 実施分 問14
解き方と答えを見る
- 1回転の時間:60,000ms ÷ 6,000 = 10ms
- 平均回転待ち時間:10ms ÷ 2 = 5ms
- 転送時間:10ms × 4k ÷ 20k = 2ms
- 合計:平均位置決め時間20ms + 5ms + 2ms = 27ms
- 確認:回転待ちと転送を忘れると20ms(ア)、回転待ちを忘れると22ms(イ)になる
答え:ウ:27ミリ秒
データ転送速度(6,000rpm・200セクタ/トラック・500バイト/セクタ)
| 回転数 | 6,000 rpm |
|---|---|
| トラックの記録密度 | 200 セクタ/トラック |
| セクタ長 | 500 バイト/セクタ |
ア 1.25
イ 3.0
ウ 10.0
エ 33.0
出典:基本情報技術者試験 科目A免除 修了試験 200907 実施分 問13
解き方と答えを見る
- 1トラックの容量を求める:200セクタ × 500バイト = 100,000バイト
- 1秒あたりの回転数を求める:6,000回転/分 ÷ 60秒 = 100回転/秒
- 1秒で読める量:100,000バイト × 100回転 = 10,000,000バイト/秒
- 1Mバイト=10^6バイトなので 10Mバイト/秒
答え:ウ:10.0Mバイト/秒
シーク最適化のヘッド移動量(現在100・増加方向・要求120,90,70,80,140,110,60)
ア 80
イ 120
ウ 160
エ 220
解き方と答えを見る
- 要求をシリンダ番号順に並べる:60, 70, 80, 90, 110, 120, 140
- 現在位置100から増加方向にある要求:110, 120, 140。進行方向で最も遠い要求は140
- 増加方向の移動:100 → 110 → 120 → 140、移動量は 140 − 100 = 40
- 条件(3)により、増加方向の要求がなくなった140で折り返す(ディスクの端までは行かない)
- 減少方向の移動:140 → 90 → 80 → 70 → 60、移動量は 140 − 60 = 80
- 合計:40 + 80 = 120
- 確認:受付順(100→120→90→70→80→140→110→60)なら 20+30+20+10+60+30+50 = 220(エ)になる
答え:イ:120シリンダ
要点(試験直前に読む)
- 平均アクセス時間 = 平均シーク時間 + 平均回転待ち時間(1回転の半分)+ データ転送時間
- 1回転の時間 = 60,000ms ÷ 回転数(6,000回転/分 → 10ms、5,000回転/分 → 12ms)
- 転送時間 = データ量 ÷ 転送速度、または 1回転の時間 × データ量 ÷ 1トラックの容量
- 転送速度 = 1トラックの容量(セクタ数 × セクタ長)× 1秒あたりの回転数(rpm ÷ 60)
- シーク最適化の問題は折り返し条件を読む。過去問は「進行方向に要求がなくなったら折り返す」(LOOK 相当)。厳密な SCAN はディスクの端まで行く
- 断片化にはデフラグ、エラーにはスキャンディスク。ストリーマはテープに連続して読み書き。CD-R は有機色素に焦げ跡
ひっかけ
- 回転待ちを1回転分で計算した値が必ず選択肢にある。回転待ちは「半回転」と最後に確認する。
- 回転待ちや転送時間を足し忘れた値(シーク時間だけ、シーク+転送だけ)が選択肢に並ぶ。3要素を全部足したか指差し確認する。
- rpm を秒あたりに直さず計算すると、60倍ずれた値になる。「分」を見たら60で割る。
- ヘッド移動量は、受付順で計算した値や、ディスクの端まで行った値が紛れる。問題文の折り返し条件(進行方向で最も遠い要求か、端か)で判断する。
- 「スキャンディスクで断片化を解消」「相変化で記録する CD-R」「部分書換えできるストリーマ」は、別の装置や処理の特徴を入れ替えた誤り。
用語(18)
1分間あたりの回転数で、60,000ms をこの値で割ると1回転の時間(ms)になる。
⚠ 1秒あたりの回転数と取り違えやすい。rpm は「分」なので、秒あたりにするには60で割る。
磁気ディスクの円盤上にある同心円1周分の記録領域で、1回転で1トラック分のデータがヘッドの下を通過する。
⚠ セクタはトラックを細かく区切った単位、シリンダは複数の円盤の同じ位置にあるトラックの束。
トラックを扇形に区切った、読み書きの最小単位。
⚠ トラックとの違いは大きさ。セクタ数 × セクタ長 = 1トラックの容量。
複数の円盤で同じ半径にあるトラックをまとめた単位で、ヘッドを動かさずに読み書きできる範囲。
⚠ トラックは1枚の円盤上の1周、シリンダは複数の円盤にまたがる束。ヘッド移動量はシリンダ番号の差で数える。
ヘッドを目的のトラック(シリンダ)まで動かすのにかかる平均時間。
⚠ 回転待ち時間は、ヘッドが着いた後に目的のセクタが回ってくるのを待つ時間。動くのがヘッドならシーク、円盤なら回転待ち。
目的のセクタがヘッドの下まで回ってくるのを待つ平均時間で、1回転の時間の半分。
⚠ 1回転分ではなく半回転分。1回転の時間をそのまま使うと誤答になる。
目的の位置からデータを実際に読み書きするのにかかる時間で、データ量 ÷ 転送速度で求める。
⚠ 転送速度(1秒あたりに読める量)と取り違えない。転送時間は「時間」、転送速度は「量/秒」。
平均シーク時間・平均回転待ち時間・データ転送時間を足した、1回の読み書きにかかる平均時間。
⚠ シーク時間だけをアクセス時間と思い込まない。3要素の合計。
1秒あたりに読み書きできるデータ量で、1トラックの容量 × 1秒あたりの回転数で求める。
⚠ データ転送時間(ある量を読むのにかかる時間)とは別物。
入出力要求をシリンダ番号順に並べ替え、ヘッドを一方向に動かして処理し、進行方向に要求がなくなったら折り返す方式。
⚠ 厳密な SCAN 方式はディスクの端まで進んでから折り返す。進行方向で最も遠い要求で折り返す方式は LOOK 方式で、2つは移動量が変わる。
ヘッドを一方向に動かしながら要求を処理し、ディスクの端(最内・最外シリンダ)まで進んでから折り返す方式。
⚠ LOOK 方式は、進行方向で最も遠い要求の位置で折り返し、端までは行かない。問題文の折り返し条件で見分ける。
記録と削除を繰り返すうちに、1つのファイルがディスク上の離れた場所に分かれて記録される状態。
⚠ 不良セクタなどのエラーとは別。断片化はデフラグ、エラーはスキャンディスクで対処する。
断片化したファイルを連続した領域に並べ直し、シークの回数を減らして読み書きを速くする処理。
⚠ スキャンディスクはエラーの検査・修復で、断片化は直さない。
ディスク上のエラー(不良セクタやファイル管理情報の矛盾)を検査し、修復する処理。
⚠ 断片化の解消(デフラグ)と入れ替えた選択肢が出る。
磁気テープを止めずに連続して読み書きする、バックアップ向けの装置。
⚠ 磁気ディスクのような部分書換えやランダムアクセスはできない。ブロックごとの始動・停止もしない。
有機色素の層にレーザ光で焦げ跡(ピット)を作って記録する、1回だけ書き込める光ディスク。
⚠ CD-RW は相変化で書換え可、MO はレーザ光と磁気ヘッドで記録、磁気ディスクは磁気ヘッドだけで記録する。
レーザ光で記録層を結晶と非結晶に変える(相変化)ことで記録し、何度でも書き換えられる光ディスク。
⚠ CD-R は有機色素に焦げ跡を作るので書換え不可。「相変化」なら CD-RW。
レーザ光で熱した記録膜の磁化の向きを磁気ヘッドで変えて記録する、書換え可能なディスク。
⚠ 「レーザ光+磁気ヘッド」なら MO。「有機色素」なら CD-R、「相変化」なら CD-RW。
このレッスンの過去問
- 磁気ディスクのデータ転送速度計算基本情報技術者試験 科目A免除 修了試験 200907 実施分 問13
- 磁気ディスクの平均アクセス時間計算平成22年度 秋期 基本情報技術者試験 午前 問14
- ディスクのシーク最適化(SCAN方式)のヘッド移動量計算平成23年度 秋期 基本情報技術者試験 午前 問14
- ハードディスクの性能維持措置(デフラグ)基本情報技術者試験 科目A免除 修了試験 20111218 実施分 問57
- ストリーマ(磁気テープ装置)の特徴基本情報技術者試験 科目A免除 修了試験 201101 実施分 問14
- CD-Rの記録方式(有機色素)基本情報技術者試験 科目A免除 修了試験 20110626 実施分 問13