資格道場 › レッスン一覧 › ハードウェア
ハードウェア・4/7・13分

磁気ディスクの性能計算と補助記憶装置

ゴール

磁気ディスクの「平均アクセス時間」と「転送速度」を、表の数値から自力で計算できるようになる。あわせて、シーク最適化のヘッド移動量、デフラグ、ストリーマ、CD-R の記録方式を選択肢から見分けられるようになる。

平均アクセス時間の計算は免除試験で10回、本試験系でも出題されている定番の計算問題です。解き方は「待ち+移動+転送」の足し算だけなので、手順を覚えれば確実に得点できます。

このレッスンで稽古する(用語チェック・過去問)

結論:アクセス時間は「探す+待つ+読む」の足し算

磁気ディスクからデータを読む時間は 平均シーク時間+平均回転待ち時間+データ転送時間 の3つの合計です。これを 平均アクセス時間 と呼びます。試験の計算問題は、ほぼこの式に数値を入れるだけで解けます。

たとえるなら、レコードプレーヤーで聴きたい曲を探す動作です。針を曲の溝の位置まで動かし(シーク)、曲の頭が針の下に回ってくるのを待ち(回転待ち)、曲を聴く(転送)、という3段階になります。

時間の流れ →平均シーク時間ヘッドを動かす平均回転待ち時間セクタを待つデータ転送時間データを読む平均アクセス時間=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 です。

回転ヘッドセクタ(扇形の区切り)トラック(同心円1周)プラッタ(円盤)
円盤(プラッタ)を真上から見た図。同心円1周がトラック、それを扇形に区切ったのがセクタで、ヘッドがその上で読み書きする。

平均アクセス時間の3要素(最重要)

要素 意味 求め方
平均シーク時間(平均位置決め時間) ヘッドを目的のトラックまで動かす時間 問題文にそのまま書いてある
平均回転待ち時間(サーチ時間) 目的のセクタがヘッドの下に来るまで待つ時間 1回転の時間 ÷ 2
データ転送時間 実際にデータを読み書きする時間 データ量 ÷ 転送速度、または 1回転の時間 ×(データ量 ÷ 1トラックの容量)

回転待ちが「半回転」なのは、運が良ければすぐ来る(0回転)、悪ければほぼ1回転待つので、平均すると半回転 になるからです。試験では、この半分にするのを忘れた数値が必ず選択肢に入っています。

転送時間の求め方は問題によって2通りあります。転送速度が書いてあれば割り算、1トラックの容量が書いてあれば「1回転で1トラック読める」と考えて比例で求めます。

6,000回転/分(1回転10ms)のとき最短最長平均0回転ほぼ1回転半回転0ms約10ms5ms平均回転待ち時間=1回転÷2
目的のセクタがヘッドの下に来るまでの待ちは0回転〜ほぼ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(過去問の条件) 一方向に処理しながら進む 進行方向で最も遠い要求の位置
小 ← シリンダ番号 → 大受付順(FCFS):行ったり来たり開始LOOK:最も遠い要求で折り返す開始折り返し線の横移動の合計=ヘッド移動量
同じ要求でも、受付順だとヘッドが左右に行き来し、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 の記録方式、ストリーマとランダムアクセス装置の特徴を入れ替えた選択肢で引っかけます。
例題 1

転送速度が与えられたときの平均アクセス時間(6,000回転/分・シーク10ms・10MB/秒・1,000バイト)

表に示す仕様の磁気ディスク装置において,1,000 バイトのデータの読取りに要する平均時間は何ミリ秒か。ここで,コントローラの処理時間は平均シーク時間に含まれるものとする。
回転数6,000 回転/分
平均シーク時間10 ミリ秒
転送速度10 M バイト/秒

ア 15.1
イ 16.0
ウ 20.1
エ 21.0

出典:平成22年度 秋期 基本情報技術者試験 午前 問14

解き方と答えを見る
  1. 1回転の時間を求める:60,000ms ÷ 6,000回転 = 10ms
  2. 平均回転待ち時間を求める:10ms ÷ 2 = 5ms
  3. データ転送時間を求める:1,000バイト ÷ 10,000,000バイト/秒 = 0.0001秒 = 0.1ms
  4. 3つを足す:平均シーク時間10ms + 回転待ち5ms + 転送0.1ms = 15.1ms
  5. 確認:回転待ちを1回転分(10ms)にすると20.1ms(ウ)になる。半回転なので15.1ms

答え:ア:15.1ミリ秒

例題 2

1トラックの容量から転送時間を求める平均アクセス時間(5,000回転/分・シーク20ms・15,000バイト/トラック・4,000バイト)

回転速度が 5,000 回転/分,平均シーク時間が 20 ミリ秒の磁気ディスクがある。この磁気ディスクの 1 トラック当たりの記憶容量は,15,000 バイトである。このとき,1 ブロックが 4,000 バイトのデータを,1 ブロック転送するために必要な平均アクセス時間は何ミリ秒か。

ア 27.6
イ 29.2
ウ 33.6
エ 35.2

出典:基本情報技術者試験 科目A免除 修了試験 20160724 実施分 問12

解き方と答えを見る
  1. 1回転の時間を求める:60,000ms ÷ 5,000回転 = 12ms
  2. 平均回転待ち時間を求める:12ms ÷ 2 = 6ms
  3. 1回転で1トラック(15,000バイト)読めるので、4,000バイトの転送時間は 12ms × 4,000 ÷ 15,000 = 3.2ms
  4. 3つを足す:20ms + 6ms + 3.2ms = 29.2ms

答え:イ:29.2ミリ秒

例題 3

同じ型の確認問題(6,000回転/分・位置決め20ms・20kバイト/トラック・4kバイト)

毎分 6,000 回転,平均位置決め時間が 20 ミリ秒,1 トラック当たりの記憶容量が 20 k バイトの磁気ディスク装置がある。1 ブロック 4 k バイトのデータを 1 ブロック転送するのに要する平均アクセス時間は何ミリ秒か。ここで,磁気ディスクコントローラのオーバヘッドは無視できるものとする。

ア 20
イ 22
ウ 27
エ 32

出典:基本情報技術者試験 科目A免除 修了試験 20230122 実施分 問14

解き方と答えを見る
  1. 1回転の時間:60,000ms ÷ 6,000 = 10ms
  2. 平均回転待ち時間:10ms ÷ 2 = 5ms
  3. 転送時間:10ms × 4k ÷ 20k = 2ms
  4. 合計:平均位置決め時間20ms + 5ms + 2ms = 27ms
  5. 確認:回転待ちと転送を忘れると20ms(ア)、回転待ちを忘れると22ms(イ)になる

答え:ウ:27ミリ秒

例題 4

データ転送速度(6,000rpm・200セクタ/トラック・500バイト/セクタ)

表に示す仕様の磁気ディスク装置の理論上の最大読み書き速度は,何 M バイト/秒か。ここで,1M バイトは 10^6 バイトとする。
回転数6,000 rpm
トラックの記録密度200 セクタ/トラック
セクタ長500 バイト/セクタ

ア 1.25
イ 3.0
ウ 10.0
エ 33.0

出典:基本情報技術者試験 科目A免除 修了試験 200907 実施分 問13

解き方と答えを見る
  1. 1トラックの容量を求める:200セクタ × 500バイト = 100,000バイト
  2. 1秒あたりの回転数を求める:6,000回転/分 ÷ 60秒 = 100回転/秒
  3. 1秒で読める量:100,000バイト × 100回転 = 10,000,000バイト/秒
  4. 1Mバイト=10^6バイトなので 10Mバイト/秒

答え:ウ:10.0Mバイト/秒

例題 5

シーク最適化のヘッド移動量(現在100・増加方向・要求120,90,70,80,140,110,60)

磁気ディスク装置のヘッドが現在シリンダ番号 100 にあり,待ち行列にシリンダ番号 120,90,70,80,140,110,60 への入出力要求が並んでいる。次の条件のとき,ヘッドが移動するシリンダの総数は幾らか。 〔条件〕 (1) 入出力要求を並べ替えて,できるだけヘッドを一方向に動かし,シリンダ番号順に処理する,シーク最適化方式である。 (2) 現在のヘッドの移動方向は,シリンダ番号が増加する方向にある。 (3) 現在のヘッドの移動方向のシリンダに入出力要求がなくなったとき,ヘッドの移動方向を変える。 (4) 入出力要求の処理順序を変更しても,処理結果に影響はない。 (5) 処理中に新たな入出力要求は発生しない。

ア 80
イ 120
ウ 160
エ 220

出典:平成23年度 秋期 基本情報技術者試験 午前 問14

解き方と答えを見る
  1. 要求をシリンダ番号順に並べる:60, 70, 80, 90, 110, 120, 140
  2. 現在位置100から増加方向にある要求:110, 120, 140。進行方向で最も遠い要求は140
  3. 増加方向の移動:100 → 110 → 120 → 140、移動量は 140 − 100 = 40
  4. 条件(3)により、増加方向の要求がなくなった140で折り返す(ディスクの端までは行かない)
  5. 減少方向の移動:140 → 90 → 80 → 70 → 60、移動量は 140 − 60 = 80
  6. 合計:40 + 80 = 120
  7. 確認:受付順(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)

rpm revolutions per minute
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つは移動量が変わる。
SCAN方式 すきゃんほうしき
ヘッドを一方向に動かしながら要求を処理し、ディスクの端(最内・最外シリンダ)まで進んでから折り返す方式。
⚠ LOOK 方式は、進行方向で最も遠い要求の位置で折り返し、端までは行かない。問題文の折り返し条件で見分ける。
フラグメンテーション fragmentation(断片化)
記録と削除を繰り返すうちに、1つのファイルがディスク上の離れた場所に分かれて記録される状態。
⚠ 不良セクタなどのエラーとは別。断片化はデフラグ、エラーはスキャンディスクで対処する。
デフラグ defragmentation(ディスク最適化)
断片化したファイルを連続した領域に並べ直し、シークの回数を減らして読み書きを速くする処理。
⚠ スキャンディスクはエラーの検査・修復で、断片化は直さない。
スキャンディスク すきゃんでぃすく
ディスク上のエラー(不良セクタやファイル管理情報の矛盾)を検査し、修復する処理。
⚠ 断片化の解消(デフラグ)と入れ替えた選択肢が出る。
ストリーマ streamer(磁気テープ装置)
磁気テープを止めずに連続して読み書きする、バックアップ向けの装置。
⚠ 磁気ディスクのような部分書換えやランダムアクセスはできない。ブロックごとの始動・停止もしない。
CD-R Compact Disc Recordable
有機色素の層にレーザ光で焦げ跡(ピット)を作って記録する、1回だけ書き込める光ディスク。
⚠ CD-RW は相変化で書換え可、MO はレーザ光と磁気ヘッドで記録、磁気ディスクは磁気ヘッドだけで記録する。
CD-RW Compact Disc ReWritable
レーザ光で記録層を結晶と非結晶に変える(相変化)ことで記録し、何度でも書き換えられる光ディスク。
⚠ CD-R は有機色素に焦げ跡を作るので書換え不可。「相変化」なら CD-RW。
MO Magneto-Optical disk(光磁気ディスク)
レーザ光で熱した記録膜の磁化の向きを磁気ヘッドで変えて記録する、書換え可能なディスク。
⚠ 「レーザ光+磁気ヘッド」なら MO。「有機色素」なら CD-R、「相変化」なら CD-RW。

このレッスンの過去問

このレッスンで稽古する