見出し画像

Re:補助記憶装置とは?-ハードディスク(前編)

こんにちは!!

前回ハードディスク(以下HDD)の話をしましたが、さすがに詰め込みすぎたと、反省しています💦
ですから、HDDをもう一度復習し、かつもっとわかりやすく説明しなお
したいと思います。
(内容は前回とほぼ同じですので、前回のでよくわかったよ!!という人はぜひ飛ばしてください)
それから今回は前編と後編に分けてお送りします。

1.HDDとは?


では改めて、HDDというのは外付けの補助記憶装置で、高速回転するディスクに磁気を使って読み書きします。この辺は前回も紹介しましたが、この高速回転するディスクをプラッタといい、この表面にデータを記憶する領域がたくさんあります。そのプラッタを読み書きするのが、磁気ヘッド。先端から磁力を発してデータを読み込み、書き込みをします。そしてその磁気ヘッドをディスク上の必要なところにもっていくのがアクセスアームです。

HDD内部説明


 では、なぜプラッタを磁気で読めるのでしょうか? 実はプラッタ上には磁性体という磁力をもつ液体(?)が塗布されています。HDDはその磁性体にデータを保存しているのです。そして磁気ヘッドがプラッタ表面の磁性体を磁化させることでデータを読み書きできるのです。
 そのプラッタに読み込まれるのはもちろんディジタルデータ、つまり「0」か「1」です。磁気ヘッドはそれらを磁界の向き、つまりNとSの向きの違いで識別しているのです。

磁性体


 ちなみにこのHDD、前回の記事でメチャクチャ壊れやすいと書きましたが、実際本当に脆いです。プラッタと磁気ヘッドの隙間は実は10ナノメートルほどしかなく、ちょっとの衝撃でもプラッタとヘッドがあたって、プラッタに傷がつくことも...。HDDは丁寧に扱いましょう

次にプラッタの話をしましょう。買ったばかりのHDDはすぐに記憶装置として使えません。まず、内部を初期化する必要があります!。初期化をするとHDDの中のプラッタに記憶領域が細かく区画切りされて作成されます。

プラッタ

この区画切りされた領域一つ一つをセクタといいます。

セクタ

このセクタ、横につなぎ合わせれば一周した円ができます。このセクタ同士を一周分にまとめたものをトラックと呼びます。

トラック

また、多くのHDDはプラッタが複数あります。その複数のプラッタの中で同じ位置にあるトラックを合わせてシリンダといいます。

シリンダ

ここまでがプラッタの話です。前回も取り上げましたが、復習になりましたか?

ではここで、問題を解いてみましょう! 前回と同じHDDの記憶容量の問題です。
以下の問題を考えてみましょう。

1セクタのバイト数 : 512バイト
1トラックあたりのセクタ数 : 48
1シリンダあたりのトラック数 : 24
シリンダ数 : 1,500
このHDDの総容量は?

やることはそれぞれをかけていくだけです。簡単ですね。
まず1トラックあたりの容量を求めます。
1セクタの容量は512バイト、48セクタですから
512 × 48 です。
計算すると、

図4

24,576バイトが1トラックあたりのバイト数です。

次に1シリンダあたりのバイト数を求めます。
1シリンダあたり24トラックなので、先ほどの1トラックあたりのバイト数が24トラック分という計算です。
つまり、1トラックあたり24,576バイトなので、

図5


589,824バイトが1シリンダあたりのバイト数です!

ここまでくればもう簡単。
シリンダ数は1,500なので、さっき算出した1シリンダあたりのバイト数とかければよいのです!

図6

884,736,000バイトがこのHDDの総容量になります...が、桁が大きいので、メガバイトに直します。
1Mバイト=1,000,000バイトなので、884Mバイト、約900MバイトがこのHDDの容量です!!

2.フラグメンテーションとは?

このセクタという単位ですが、1セクタ=512バイトと大変小さなもの。OSみたいな大きなデータを扱うソフトウェアは細かすぎる単位では使えません。そこで、OSはセクタを4つから8つほどまとめたクラスタという単位でデータを読み書きします。そうすることで、例えば4000バイトあるファイルでも一度に保存できるのです。

クラスタ

 しかし、クラスタの容量を少しでもはみ出るデータの場合クラスタを2つ使わなければなりません。1クラスタ=4,096バイトの場合、4100バイトのデータを保存するときも1クラスタでは収まりきらないので、2クラスタ使用します。そうなると使われない部分が発生し、それらはいわばムダ領域となります。これが増えると後々フラグメンテーションが起こる原因になります。

 フラグメンテーションはデータを分散させないと収まらなくなることで、上記以外にもデータの追記や書き換えなどを繰り返し行うと起こります。データを分散して保存した場合、読み出すのに何か所も読み込まなければならず、ムダな作業とムダな時間がかかってしまいます。 
 しかし、さすがOS。それも想定済み。これを解決すべくOSはHDD内のデータを全部とりだし、それぞれ連続データに構成しなおして、連続的な領域に並べなおします。これが前回説明したデフラグです。 
こうすればHDDの容量もきれいすっきり!!

まとめ

・HDDは磁力を持ったプラッタの記憶領域を磁気ヘッドで磁化して読み込み、書き込みを行う。

・プラッタの記憶領域の最小単位をセクタと呼び、セクタをつなぎ合わせて一周したものをトラックと呼ぶ。複数プラッタがある場合をそれぞれの同一位置にあるトラックを合わせてシリンダと呼ぶ。

・HDDの空き領域がまばらになると保存データを分割して分散した空き領域に収める。これをフラグメンテーションと呼ぶ。


以上です。

HDDの記事は前回も書きましたが、今回は前回の半分の内容でも同じボリュームになるくらい、HDDは奥深いものなのです。

前回は中途半端になってしまった(?)ので、今回と次回でより詳しく説明していきます。

それでは、次回もお楽しみに!!!


いいなと思ったら応援しよう!