IT・プログラミング雑学

簡単でわかりやすい!ファイルの実際のサイズとディスク上のサイズの違いとは?ファイル管理の仕組みからプログラマーが詳しく解説

no-img2″>
 <figcaption class=桜木建二

ディスクの中にあるファイルは、そのディスクの容量いっぱいまで詰め込むことができそうだが、実はできない。なぜなら、仕組み上無駄になる部分があるからだ。その無駄になる部分を含んだサイズが「ディスク上のサイズ」だ。つまり実際のファイルのサイズ+無駄になる分=ディスク上のサイズというわけだ。続いて、ディスクの中でどうファイルを収めているのかを解説していくぞ。

HDDやSDDはホテルのようなもの?客(ファイル)を入れる部屋がある

image by iStockphoto

ディスクでのファイルのしまい方を説明しますが、まずはホテルや宿を思い浮かべてください。それらには部屋がありますよね。部屋には一人部屋から数人が使える部屋まで色々です。ディスクの仕組みも同じ。ディスクが宿、客がファイルと思ってください。ホテルの例えでサイズとディスク上のサイズを説明していきます。

この部屋は何人部屋?アロケーションユニットサイズとは

例えば、そのホテルに4人部屋がひとつ空いているとします。そこにペアの客が2組来た場合、泊まることのできるのは1組だけ。通常はもう1組は泊まることができません。部屋としては4人分の空きがあるのですが、使えるのは2人分だけです。4人部屋に2人が泊まると人数的には2人分余ってしまいます。この場合の「サイズ」にあたるのは実際に泊まる2人「ディスク上のサイズ」に当たるのは無駄になっている2人分も合わせた4人です。

この部屋が何人部屋かというのをディスクでは「アロケーションユニットサイズ」と呼びます。ホテルの場合は色々な大きさの部屋がありますね。しかしディスクの場合は1台のディスクでは1種類のアロケーションユニットサイズしか使えません。ワンルーム専用マンションのようなものです。

無駄が多いか少ないか?アロケーションユニットサイズで決まるディスク上のサイズ

あるホテルが2人部屋が10室あったとします。ここにペアが2組と、一人旅の人が3人。その場合、実際に泊まっている人数は2人×2部屋+1人×3部屋=7人ですよね。本来このホテルには20人が泊まることが可能。ですのでまだ3分の2近く空いているはずです。しかし、部屋としては2人部屋が5部屋なのですでに半分を使っていることになります。

このようにファイルのサイズとディスク上のサイズは違うわけです。ファイルサイズとしては空いているように見えても、実際に使える量は少なくなってしまいますディスクによってこの部屋のサイズ=アロケーションユニットサイズはバラバラ。場合によってはサイズとディスク上のサイズが10倍やそれ以上違うこともあります。一見、ディスクがまだ空きがあるように見えても、場合によってはすでに満室という場合もあるわけです。

HDDやSDDによって様々?アロケーションユニットサイズはどうやって決まる

このアロケーションユニットサイズはディスクによってもさまざま。またある程度変更することも可能です。それを決めるのはディスクのフォーマットの時。ディスクにもよりますが、ここでアロケーションユニットサイズが変えることができる場合もあります。

ただディスクというホテルは部屋の数の上限がルールで決まっているのです。そのため、巨大なディスクはどうしても部屋のサイズであるアロケーションユニットサイズが大きくなりがち。逆に小容量のディスクは部屋のサイズを自由に選べることも多いです。パソコンに最初から入っているディスクの場合は4Kから16Kバイト程度のことが多いかと思います。大きなホテルは部屋も大きく、逆は小さいことが多い、と覚えてください。

no-img2″>
 <figcaption class=桜木建二

ディスクの中はホテルの部屋のように小さな単位で区切られている。1つのファイルはその部屋に分けて泊まるようなものだ。しかし相部屋はできないので1つの部屋に別のファイルを入れることはできない。そのため、どうしても無駄なスペースができてしまう。つまりファイルのサイズは泊まる人数、ディスク上のサイズは部屋の数×その部屋の最大人数になるわけだ。次にこの無駄をなんとかできないかを解説するぞ。

\次のページで「少しでも無駄を減らすために!アロケーションユニットとの付き合い方」を解説!/

次のページを読む
1 2 3
Share: