Размер файла на диске


Почему файл занимает на диске больше места, чем его реальный размер?

Сохраняя на диск файлы, мы стараемся «держать» в голове, сколько места осталось на диске, какой размер файла. Но иногда эти расчеты оказываются далеки от реальности. Почему так? Почему файл занимает на диске больше места, чем его реальный размер?

Для ответа придется копнуть в глубину теории файловых систем. Информация, (Вы, кстати не задумывались, как дать определение этому забавному слову – информация?) так вот эти разные файлы, записываются на жесткий диск не как на грампластинку. Перед использованием жесткого диска операционная система форматирует его. При этом на диске создаются кластеры для размещения информации. Оглавление, где написано, в каком кластере какой файл следует искать. Размер кластеров разный в разных системах, в файловой системе NTFS этот размер 4096 байт. Как в тетради в клеточку, диск размечается на кластеры. Отсюда, кстати, разница в размере диска и доступном месте на нем. Диск 50ГБ, но при форматировании уже занимается часть места. И доступно кластеров(!), а не пустого места, где-то 49,5ГБ. И это только начало. Когда Вы записываете файл на диск, он «разрезается» и раскладывается по кластерам. Если его размер менее 4096 байт, он все равно займет один кластер. Смотрим пример на рисунке.

резмер файла на диске

Маленький файл, размер которого 63 байта на диске занял 4 кб. Его огромный «собрат» занял почти столько же места, каков его реальный размер. 1 309 889 805 байт занято, а размер 1 309 892 608 байт – теперь нам становится ясно, почему файл занимает на диске больше места, чем его реальный размер - причина в кластерах. Часть файла аккуратно записана в кластеры. А некоторая часть не поместилась и кусочками была размещена меньшими, чем 4096 байт частями по тем же кластерам. Результат – кластеров занято на диске больше, чем сам размер файла.

Почему файл занимает на диске больше места, чем его реальный размер – потому что на диск файл записывается в кластеры и занимает место не сам файл, а кластеры, которые он занял. И поскольку размер файла обычно не кратен размеру кластера, то файл занимает больше кластеров, чем хотелось бы. Файл размером 10240байт, которому «хватит» 2,5 кластера (4096*2,5= 10240 байт) замет ТРИ кластера (4096*3= 12288 байт). Так и выходит, что много мелких файлов займут больше места на диске, чем их реальный суммарный размер.

Рубрики сайта



Eng

НАВЕРХ