Windowsファイルのプロパティを見ると、 "Size"と "Size on disk"、そして "Size on disk"の2つの属性があります。
これら2つの指標はどういう意味ですか?
サイズは、ファイルの実際のサイズ(バイト単位)です。
ディスク上のサイズは、ディスク上で占有されている実際の容量です。ディスクがトラックとセクタに分割されており、ディスクリートサイズのブロックを割り当てることができるため、これらは異なります。
編集中
より詳細な説明については、私が他のサイトからコピーしたこのテキストを参照してください。
私たちはディスクがトラックとセクターで構成されていることを知っています。 Windowsでは、OSが「クラスタ」または「アロケーションユニット」でファイル用のスペースを割り当てます。
クラスタのサイズはさまざまですが、一般的な範囲は512バイトから32K以上です。たとえば、私のC:\ドライブでは、割り当て単位は4096バイトです。つまり、Windowsは1から4096バイトの長さのファイルまたはファイルの一部に4096バイトを割り当てます。
私が17KB(キロバイト)のファイルを持っている場合、ディスク上のサイズは20.48KB(または20480バイト)になります。計算は4096(1アロケーションユニット)x 5 = 20480バイトになります。 17KBのファイルを保存するには、5アロケーションユニットが必要です。
もう1つの例は、サイズが2000バイトのファイルがあるとします。ディスク上のファイルサイズは4096バイトです。これは、ファイル全体が1つのアロケーションユニット内に収まる場合でも、ディスク上で4096個のスペース(1アロケーションユニット)を占有するためです(1つのファイルのみがアロケーションユニットを使用でき、他のファイルと共有できません)。
したがって、ディスク上のサイズは、ファイルが保存されているすべてのセクタのスペースです。つまり、通常、ディスク上のサイズは常に実際のサイズよりも大きくなります。
そのため、プロパティウィンドウを表示するときは、ファイルまたはフォルダの実際のサイズは常にSizeの値から取得する必要があります。
ディスクが最初にフォーマットされたときに使用されていた割り当てユニットサイズと関係があります。
あなたの車の中に2つの2×10ガロンのガス缶があると想像してください。各ガス缶は配分単位です。あなたは12ガロンのガスを手に入れる必要があるので、両方の缶を使う必要があります。基本的に20ガロンの割り当てられたスペースを使用しますが、12ガロンしか充填しません。
これがWindows XPのデフォルトサイズです。
Drive size
(logical volume) Cluster size Sectors
----------------------------------------------------------
512 MB or less 512 bytes 1
513 MB - 1,024 MB (1 GB) 1,024 bytes (1 KB) 2
1,025 MB - 2,048 MB (2 GB) 2,048 bytes (2 KB) 4
2,049 MB and larger 4,096 bytes (4 KB) 8
あなたがあなたのガス缶のそれぞれとしてクラスターサイズを考えるなら:それぞれ4KBの「ガス」を持つこと。しかし、あなたのファイルは2KBです、そして塗りつぶしサイズは2Kです、しかし、ディスクの上のサイズは4KBです
記憶媒体上の個々のバイトに個別にアクセスすることはできません。システムは、使用されているものと空いているもの(つまりリスト)を追跡する何らかの方法を必要とするため、ひどく非効率的です。したがって、バイトごとに個別に行うと、(each個々のバイト、つまり1対1、リストはメディア自体と同じくらい大きいでしょう!)
代わりに、メディアはチャンク、ブロック、ユニット、グループなど、任意の名前(技術用語はclusters)に分割され、それぞれに一貫した番号が含まれますバイト数(通常、クラスターのサイズは、さまざまな用途でさまざまなサイズが必要になるため、無駄を減らすために指定できます)。
ファイルがディスクに保存されると、ファイルのサイズはクラスターサイズで除算され、必要に応じて切り上げられますup。これは、ファイルサイズがクラスターサイズで正確に割り切れない限り、一部のクラスターが未使用で無駄になることを意味します。
ファイルのプロパティを表示すると、ファイルの実際のサイズと、「 slack 」を含むディスク上のサイズが表示されます。つまり、未使用です。これは通常ファイルごとではなく、ディスク上のサイズは通常実際のサイズとほぼ等しくなりますが、ドライブ上の何千ものファイルから無駄なスペースを合計すると、合計することができます。したがって、大きなフォルダーのサイズ、特にクラスターよりも小さい小さなファイルが多数あるフォルダーのサイズを表示すると、ディスク上のサイズ(つまり、使用済みとしてマークされたディスクスペースの量)が実際のサイズよりもかなり大きくなる可能性がありますサイズ(つまり、ファイルが実際に必要とするスペース)。
上記のような場合、各ファイルが無駄になるスペースが少なくなるようにクラスターサイズを小さくすることができます。一般に、ほとんどのファイルのほとんどが失われたドライブは、可能な限り最小のクラスターサイズを使用する必要があり(無駄を減らすため)、ほとんどの大きなファイルが含まれるドライブは、可能な限り最大のクラスターサイズを使用する必要があります(このように簿記構造が小さくなる).
下位レベルであっても、各クラスターが単一の セクター のみの場合、ファイルがドライブ上のセクターのサイズの正確な倍数でない限り(通常は従来512バイト、現在では4,096が多い- Advanced Format disks)、ファイルの最後とセクターの最後の間に未使用のスペースが残っています。
実際のファイルサイズとディスク上のサイズの違いがわかる別のシナリオは、圧縮の場合です。ドライブが圧縮されている場合(たとえば、 DriveSpace 、 NTFS圧縮 などを使用)、実際のファイルのサイズには違いがあります(これは知っておく必要があります) )、およびファイルがディスク上で占める(つまり、使用または「占有」する)実際のサイズ。
違いをもたらす可能性のあるさらに別のシナリオは、 ハードリンク を使用することです。ハードリンクをサポートするファイルシステムでは、複製ファイルが作成されると、スペースを占有する新しいファイル全体を作成する代わりに、ファイルシステムはファイルへのショートカットを作成し、両方(または3つすべてなど)コピーは、ディスク上の同じ物理ファイルを指します。したがって、同じデータを指す2つのファイルがある場合、それらはそれぞれ同じサイズを持ちますが、単一のコピーを保存するためのスペースよりもわずかに多くを占有します。