При просмотре свойств любого файла вы можете видеть два параметра, указывающих его вес – «Размер» и «На диске». И эти показатели будут разными. И, наверняка, вам было интересно, почему они разные, чем они отличаются, и каков действительный вес просматриваемого файла. В данной статье я вам это доступно объясню.

«Размер» и «На диске» — в чём разница

Итак, если кликнуть правой кнопкой на файл и выбрать пункт «Свойства», то мы видим окно, в котором можем посмотреть вес данного файла. Они указываются в строках «Размер» и «На диске». Эти параметры разные.

Почему они разные и какой реальный вес файла? Чтобы это понять, отойдём от компьютерной темы и обратимся к жизненному примеру.

Представьте себе, что у вас есть 3 бочки по 10 литров каждая. И вам необходимо сохранить в них 12 литров пива и 5 литра томатного сока. Вы заливаете пиво в первую бочку, туда пометилось только 10 литров. Оставшиеся 2 литра пива вы заливаете во вторую бочку. 5 литров томатного сока можно пометить в последнюю третью бочку.

В результате у вас получилась одна полная почка пива, одна бочка пива заполнена лишь на 2 литра, и ещё одна бочка томатного сока, заполнена только наполовину.

О них сейчас говорят все: SMM продвижение и маркетинг в социальных сетях. Но не все в курсе, как это реально работает. Блог pricesmm.com даёт не пустую теорию, как развивать интернет маркетинг в социальных сетях, а подкрепляет слова делом. Вы получите практичные советы, узнаете секреты лидеров, а также как и где отыскать эффективный СММ сервис. С такой поддержкой будет легко добиться успеха.

Вернёмся к компьютерам. На жёстком диске с файловой системой NTFS (на компьютерах чаще всего именно такая файловая система) существуют ячейки размером по 4 Кб. Это как наши бочки по 10 литров. Файлы, сохраняемые на жёстком диске, будут заливаться в эти «бочки» по 4 Кб. Таким образом, если мы сохраняем на компьютере файл размером, допустим, в 8 Кб, он займёт 2 ячейки памяти (2 бочки). Если мы сохраняем файл размером в 5 Кб, он тоже замёт 2 ячейки (4 Кб в одну и 1 Кб в другую). Файлы, размером менее 4 Кб занимают одну ячейку.

Продолжаем вести линию от бочек с пивом и томатным соком. Когда вы залили 10 литров пива в одну бочку, а оставшиеся 2 литра в другую, вы не стали наполнять эту не до конца залитую бочку пива томатным соком (ведь нельзя же смешивать пиво и сок). Вы в этом случае использовали другую, новую бочку.

Так и с ячейками памяти. Если файл размером 5 Кб, занимает 2 ячейки (4 Кб в одной и 1 Кб в другой), то эта не заполнена до конца ячейка, не займётся другим файлом. Другой файл будет записываться в следующую свободную ячейку.

И теперь вернёмся к самому началу – параметрам «Размер» и «На диске». «Размер» указывает, сколько есть реального объёма файла, то есть, сколько пива было в действительности. А «На диске» показывает, сколько этот файл занял места на диске, то есть, сколько объёма бочек ушло на сохранения имеющегося пива.

Для закрепления знаний обратимся к скриншотам с примерами. На первом скриншоте мы видим параметры «Размер» и «На диске» равные 10 байт и 4 Кб, соответственно.

Это значит, что файл реально всего весит 10 байт, на жёстком диске занимает одну целую ячейку – 4 Кб. В этой ячейке другие файлы не будут записаны.

На втором скриншоте параметры «Размер» и «На диске» равны 5.99 Кб и 8 Кб, соответственно.

Это значит, что реальный размер файла 5,99 Кб, а на диске он занимает две ячейки памяти, то есть 8 Кб. При этом одна из них заполнена полностью на 4 Кб, а вторая частично – на 1,99 Кб. И другой файл в эту, не до конца заполненную, ячейку памяти не запишется.

Похожие статьи:

Если поиграть с размером файла подкачки, то можно увеличить скорость работы тормозящего компьютера, на котором…

Если поиграть с размером файла подкачки, то можно увеличить скорость работы тормозящего компьютера, на котором…

Если поиграть с размером файла подкачки, то можно увеличить скорость работы тормозящего компьютера, на котором…

5 Comments

А как может папка Виндоус занимать на диске 22Гб, если размер папки — 30Гб?

В чем разница между размером и размером на диске?

Посмотрев на свойства файла Windows, я получаю два атрибута: «Размер» и «Размер на диске», а «Размер на диске» всегда больше.

Что означают эти две метрики?

4 ответа

Размер — это фактический размер файла в байтах.

Размер на диске — это фактическое количество занимаемого пространства на диске. Они отличаются тем, что диск разделен на дорожки и сектора и могут выделять блоки дискретного размера.

Редактирование

Более подробное объяснение см. в этом тексте, который я скопировал с другого сайта:

Мы знаем, что диск состоит из треков и секторов. В Windows, что означает, что ОС выделяет пространство для файлов в «кластерах» или «распределение единицы».

Размер кластера может варьироваться, но типичные диапазоны от 512 байт до 32K или более. Например, на моем диске C: блок выделения 4096 байт. Это означает, что Windows будет выделять 4096 байт для любого файл или часть файла длиной от 1 до 4096 байт.

Если у меня есть файл размером 17 КБ (килобайт), тогда размер на диске будет 20,48 КБ (или 20480 байт). Расчет будет составлять 4096 (1 единица распределения) x 5 = 20480 байт. Требуется 5 единиц удерживайте файл 17 КБ.

Другим примером может быть, если у меня есть файл размером 2000 байт. Размер файла на диске составит 4096 байт. Причина в том, что даже хотя весь файл может поместиться внутри одного блока выделения, он все еще занимает 4096 пространства (одна единица размещения) на диске (только один файл может использовать блок выделения и не может использоваться совместно с другими файлами).

Таким образом, размер на диске — это пространство всех тех секторов, в которых файл сохраняется. Это означает, что обычно размер на диске всегда больше чем фактический размер.

Поэтому фактический размер файла (ов) или папки (ов) всегда должен быть принят от значения Размер при просмотре окна свойств.

Он имеет отношение к размерам единиц размещения, используемых на вашем диске, когда он был сначала отформатирован.

Представьте, что у вас в вашем автомобиле есть две газовые баллоны объемом 2 x 10 галлонов. Каждый газ может быть единицей распределения. Вам нужно получить 12 галлонов газа, поэтому вам нужно использовать обе банки. В основном используется 20 галлонов выделенного пространства — но заполняется только 12 галлонов.

Вот размер по умолчанию для Windows XP

Если вы думаете о размере кластера, как о каждой из ваших газовых баллонов: удерживайте 4 КБ «газа» каждый. Но ваш файл составляет 2 КБ, тогда размер заливок составляет 2 КБ, но размер на диске составляет 4 КБ

Пробел кластера

Вы не можете обращаться к каждому отдельному байту на носителе отдельно. Сделать это было бы ужасно неэффективно, потому что система должна каким-то образом отслеживать, какие из них используются и которые являются свободными (т. Е. Список), поэтому для каждого байта отдельно создавалось бы слишком много подслушивающих (для каждого индивидуальный байт, т.е. от 1 до 1, список будет таким же большим, как и сам носитель!)

Вместо этого среда разбивается на куски, блоки, единицы, группы, все, что вы хотите назвать их (технический термин кластеры ), каждый из которых содержит« согласованное »количество байтов (обычно вы можете указать размер кластеров, поскольку разные виды использования требуют разных размеров для уменьшить количество отходов).

Когда файл сохраняется на диске, размер файла делится на размер кластера и округляется вверх , если это необходимо. Это означает, что если размер файла не будет делиться по размеру кластера, некоторые из них в конечном итоге будут не использованы и, следовательно, будут потрачены впустую.

Когда вы просматриваете свойства файла, вы видите истинный размер файла, а также размер, который он занимает на диске, который включает в себя любые « slack — то есть неактивные советы, которые не используются. Обычно это не намного per-file , а размер на диске обычно будет почти равен фактическому размеру, но когда вы добавляете потерянное пространство из всех тысяч файлы на диске, они могут складываться. Поэтому, когда вы просматриваете размер большой папки, особенно один со множеством крошечных файлов, размер которых меньше кластера, размер на диске (т. Е. Объем дискового пространства, помеченного как использованный) может оказаться значительно большим, чем фактический размер (т. е. объем, на который действительно нужны файлы).

В случае, таком как выше, вы можете попытаться уменьшить размер кластера, чтобы каждый файл тратил меньше места. Как правило, накопитель с большей частью потерянных небольших файлов должен использовать наименьший размер кластера (чтобы уменьшить количество отходов), а на диске с большими файлами должен использоваться наибольший размер кластера (таким образом, структуры бухгалтерского учета в конечном итоге становятся меньше).

Даже на более низком уровне, если каждый кластер представляет собой только один сектор , если только файл является точным кратным размеру секторов на диске (обычно 512 байтов традиционно, теперь часто 4096 с расширенным форматом ), то между окончанием файла и концом сектора все еще останется неиспользованное пространство.

Сжатие

Другой сценарий, в котором вы можете увидеть разницу между фактическим размером файла и размером на диске , — это сжатие. Когда привод сжат (например, используя DriveSpace , сжатие NTFS и т. д.), тогда будет разница между размером фактического файла (который должен быть известен) и фактический размер, который файл занимает (т. е. использует или «принимает») на диске.

Ярлыки и жесткие ссылки

Еще один сценарий, который может привести к различию, — это hardlinks . С файловыми системами, поддерживающими жесткие ссылки, когда создается дублирующий файл, вместо создания целого нового файла, который занимает место для себя, файловая система создает ярлык для файла, так что (или все три и т. Д.), копии указывают на тот же физический файл на диске. Поэтому, когда есть два файла, указывающие на одни и те же данные, каждый из них имеет одинаковый размер, но занимает лишь немного больше места для хранения одной копии.

Еще одна вещь, которая может значительно уменьшить значение «Размер на диске», — это ситуации, когда файл фактически не хранится на диске, но все еще доступен с помощью различных средств.

Например, функция автономных файлов OneDrive позволяет пользователю хранить файл таким образом, чтобы он был доступен через интернет-соединение. Файл все еще существует на диске и имеет определенный размер, но поскольку он не находится на диске до его загрузки, он не занимает места.

В чем разница между размером и размером на диске?

Глядя на свойства файла Windows, я получаю два атрибута: «Размер» и «Размер на диске», а «Размер на диске» всегда больше.

Что означают эти две метрики?

4 ответа 4

Размер — это фактический размер файла в байтах.

Размер на диске — это фактический объем места, занимаемого на диске. Они отличаются тем, что диск разделен на дорожки и сектора, и может выделять блоки дискретного размера.

редактирование

Для более подробного объяснения см. Этот текст, который я скопировал с другого сайта:

Мы знаем, что диск состоит из треков и секторов. В Windows это означает, что ОС выделяет пространство для файлов в «кластерах» или «единицах выделения».

Размер кластера может варьироваться, но типичные диапазоны составляют от 512 байт до 32 КБ и более. Например, на моем диске C: единица выделения составляет 4096 байт. Это означает, что Windows выделит 4096 байт для любого файла или части файла длиной от 1 до 4096 байт.

Если у меня есть файл размером 17 КБ (килобайт), то размер на диске будет 20,48 КБ (или 20480 байт). Расчет будет 4096 (1 единица выделения) x 5 = 20480 байт. Требуется 5 единиц размещения для хранения файла 17 КБ.

Другой пример: если у меня есть файл размером 2000 байт. Размер файла на диске будет 4096 байт. Причина в том, что, хотя весь файл может уместиться в одной единице выделения, он все равно занимает 4096 места (одну единицу выделения) на диске (только один файл может использовать единицу выделения и не может использоваться совместно с другими файлами).

Таким образом, размер на диске — это пространство всех тех секторов, в которых сохранен файл. Это означает, что обычно размер на диске всегда больше, чем фактический размер.

Таким образом, фактический размер файла (ов) или папки (ов) всегда должен быть взят из значения « Размер» при просмотре окна свойств.

Это связано с размерами единиц размещения, которые использовались на вашем диске при первом его форматировании.

Представьте, что у вас в машине две канистры по 2 галлона по 10 галлонов. Каждый баллон с газом является единицей распределения. Вам нужно получить 12 галлонов газа, поэтому вам нужно использовать обе банки. В основном, используя 20 галлонов выделенного пространства — но только заполняя 12 галлонов.

Вот размер по умолчанию для Windows XP

Если вы думаете о размере кластера как о каждой из ваших канистр с газом: держите по 4 КБ «газа» в каждой. Но ваш файл имеет размер 2 КБ, тогда размер заливки равен 2 КБ, а размер на диске — 4 КБ.

Пространство кластера

Вы не можете получить доступ к каждому отдельному байту на носителе отдельно. Это было бы ужасно неэффективно, потому что системе нужен какой-то способ отслеживать, какие из них используются, а какие свободны (т. Е. Список), поэтому выполнение этого для каждого байта в отдельности создаст слишком много слышимости (для каждого отдельного байта, то есть 1 к 1, список будет таким же большим, как и сам носитель!)

Вместо этого носитель разбивается на куски, блоки, блоки, группы, как вы хотите их называть (технический термин — кластеры), каждый из которых содержит — согласованное — количество байтов (обычно вы можете указать размер кластеры, так как различные виды использования требуют разных размеров для сокращения отходов).

При сохранении файла на диск, размер файла делится он размером кластера и округляется в случае необходимости. Это означает, что, если размер файла не делится точно на размер кластера, некоторые из кластеров в конечном итоге не используются и, следовательно, теряются.

Когда вы просматриваете свойства файла, вы видите истинный размер файла, а также размер, который он занимает на диске, включая любые « слабые места », то есть «советы кластера», которые не используются. Обычно это не так много для каждого файла, и размер на диске , как правило, почти равен фактическому размеру, но когда вы добавляете потраченное впустую пространство из всех тысяч файлов на диске, они могут сложиться. Поэтому при просмотре размера большой папки, особенно той, в которой много мелких файлов, которые меньше кластера, размер на диске (т. Е. Объем дискового пространства, помеченный как использованный) может оказаться значительно больше фактического размер (т. е. объем пространства, который требуется файлам).

В случае, подобном описанному выше, вы можете уменьшить размер кластера, чтобы каждый файл занимал меньше места. Как правило, диск с большей частью потерянных небольших файлов должен использовать наименьший возможный размер кластера (для уменьшения потерь), а диск с большей частью больших файлов должен использовать наибольший возможный размер кластера (таким образом, структуры бухгалтерского учета в конечном итоге становятся меньше).

Даже на более низком уровне, если каждый кластер представляет собой только один сектор, если файл не является точным кратным размеру секторов на диске (обычно 512 байт традиционно, теперь часто 4096 с дисками расширенного формата ), тогда все равно будет Неиспользуемое пространство между концом файла и концом сектора.

компрессия

Другой сценарий, в котором вы можете увидеть разницу между фактическим размером файла и размером на диске, связан со сжатием. Когда диск сжимается (например, с помощью DriveSpace, NTFS-сжатия и т.д.), Тогда будет разница между размером фактического файла (который необходимо знать) и фактическим размером, который файл занимает (т. Е. Использует или «занимает») на диске.

Ярлыки и жесткие ссылки

Еще один сценарий, который может привести к разнице, связан с жесткими ссылками. В файловых системах, которые поддерживают жесткие ссылки, при создании дубликата файла вместо создания целого нового файла, который занимает место для себя, файловая система создает ярлык для файла, чтобы оба (или все три, и т.д.) копии указывают на один и тот же физический файл на диске. Поэтому, когда два файла указывают на одни и те же данные, они имеют одинаковый размер, но занимают лишь немного больше места, чтобы хранить одну копию.

В чем разница размер и на диске

Свойства файла «Размер» и «На диске»: в чём разница и каков реальный вес файла

При просмотре свойств любого файла вы можете видеть два параметра, указывающих его вес – «Размер» и «На диске». И эти показатели будут разными. И, наверняка, вам было интересно, почему они разные, чем они отличаются, и каков действительный вес просматриваемого файла. В данной статье я вам это доступно объясню.

«Размер» и «На диске» — в чём разница

Итак, если кликнуть правой кнопкой на файл и выбрать пункт «Свойства», то мы видим окно, в котором можем посмотреть вес данного файла. Они указываются в строках «Размер» и «На диске». Эти параметры разные.

Почему они разные и какой реальный вес файла? Чтобы это понять, отойдём от компьютерной темы и обратимся к жизненному примеру.

Представьте себе, что у вас есть 3 бочки по 10 литров каждая. И вам необходимо сохранить в них 12 литров пива и 5 литра томатного сока. Вы заливаете пиво в первую бочку, туда пометилось только 10 литров. Оставшиеся 2 литра пива вы заливаете во вторую бочку. 5 литров томатного сока можно пометить в последнюю третью бочку.

В результате у вас получилась одна полная почка пива, одна бочка пива заполнена лишь на 2 литра, и ещё одна бочка томатного сока, заполнена только наполовину.

Вернёмся к компьютерам. На жёстком диске с файловой системой NTFS (на компьютерах чаще всего именно такая файловая система) существуют ячейки размером по 4 Кб. Это как наши бочки по 10 литров. Файлы, сохраняемые на жёстком диске, будут заливаться в эти «бочки» по 4 Кб. Таким образом, если мы сохраняем на компьютере файл размером, допустим, в 8 Кб, он займёт 2 ячейки памяти (2 бочки). Если мы сохраняем файл размером в 5 Кб, он тоже замёт 2 ячейки (4 Кб в одну и 1 Кб в другую). Файлы, размером менее 4 Кб занимают одну ячейку.

Продолжаем вести линию от бочек с пивом и томатным соком. Когда вы залили 10 литров пива в одну бочку, а оставшиеся 2 литра в другую, вы не стали наполнять эту не до конца залитую бочку пива томатным соком (ведь нельзя же смешивать пиво и сок). Вы в этом случае использовали другую, новую бочку.

Так и с ячейками памяти. Если файл размером 5 Кб, занимает 2 ячейки (4 Кб в одной и 1 Кб в другой), то эта не заполнена до конца ячейка, не займётся другим файлом. Другой файл будет записываться в следующую свободную ячейку.

И теперь вернёмся к самому началу – параметрам «Размер» и «На диске». «Размер» указывает, сколько есть реального объёма файла, то есть, сколько пива было в действительности. А «На диске» показывает, сколько этот файл занял места на диске, то есть, сколько объёма бочек ушло на сохранения имеющегося пива.

Для закрепления знаний обратимся к скриншотам с примерами. На первом скриншоте мы видим параметры «Размер» и «На диске» равные 10 байт и 4 Кб, соответственно.

Это значит, что файл реально всего весит 10 байт, на жёстком диске занимает одну целую ячейку – 4 Кб. В этой ячейке другие файлы не будут записаны.

На втором скриншоте параметры «Размер» и «На диске» равны 5.99 Кб и 8 Кб, соответственно.

Это значит, что реальный размер файла 5,99 Кб, а на диске он занимает две ячейки памяти, то есть 8 Кб. При этом одна из них заполнена полностью на 4 Кб, а вторая частично – на 1,99 Кб. И другой файл в эту, не до конца заполненную, ячейку памяти не запишется.

«Размер» и «На диске» в свойствах файла: какая между ними разница

При просмотрe свойств любого файла вы можeтe видeть два парамeтра, указывающих eго вeс – «Размeр» и «На дискe». И эти показатeли будут разными. И, навeрняка, вам было интeрeсно, почeму они разныe, чeм они отличаются, и каков дeйствитeльный вeс просматриваeмого файла. В данной статьe я вам это доступно объясню.

«Размeр» и «На дискe» — в чём разница

Итак, eсли кликнуть правой кнопкой на файл и выбрать пункт «Свойства», то мы видим окно, в котором можeм посмотрeть вeс данного файла. Они указываются в строках «Размeр» и «На дискe». Эти парамeтры разныe.

Почeму они разныe и какой рeальный вeс файла? Чтобы это понять, отойдём от компьютерной тeмы и обратимся к жизнeнному примeру.

Прeдставьтe сeбe, что у вас eсть 3 бочки по 10 литров каждая. И вам нeобходимо сохранить в них 12 литров пива и 5 литра томатного сока. Вы заливаeтe пиво в пeрвую бочку, туда помeтилось только 10 литров. Оставшиeся 2 литра пива вы заливаeтe во вторую бочку. 5 литров томатного сока можно помeтить в послeднюю трeтью бочку.

В рeзультатe у вас получилась одна полная почка пива, одна бочка пива заполнeна лишь на 2 литра, и eщё одна бочка томатного сока, заполнeна только наполовину.

Вeрнёмся к компьютерам. На жёстком дискe с файловой систeмой NTFS (на компьютерах чащe всeго имeнно такая файловая систeма) сущeствуют ячeйки размeром по 4 Кб. Это как наши бочки по 10 литров. Файлы, сохраняeмыe на жёстком дискe, будут заливаться в эти «бочки» по 4 Кб. Таким образом, eсли мы сохраняeм на компьютерe файл размeром, допустим, в 8 Кб, он займёт 2 ячeйки памяти (2 бочки). Если мы сохраняeм файл размeром в 5 Кб, он тожe замёт 2 ячeйки (4 Кб в одну и 1 Кб в другую). Файлы, размeром мeнee 4 Кб занимают одну ячeйку.

Продолжаeм вeсти линию от бочeк с пивом и томатным соком. Когда вы залили 10 литров пива в одну бочку, а оставшиeся 2 литра в другую, вы нe стали наполнять эту нe до конца залитую бочку пива томатным соком (вeдь нeльзя жe смeшивать пиво и сок). Вы в этом случаe использовали другую, новую бочку.

Так и с ячeйками памяти. Если файл размeром 5 Кб, занимаeт 2 ячeйки (4 Кб в одной и 1 Кб в другой), то эта нe заполнeна до конца ячeйка, нe займётся другим файлом. Другой файл будeт записываться в слeдующую свободную ячeйку.

И тeпeрь вeрнёмся к самому началу – парамeтрам «Размeр» и «На дискe». «Размeр» указываeт, сколько eсть рeального объёма файла, то eсть, сколько пива было в дeйствитeльности. А «На дискe» показываeт, сколько этот файл занял мeста на дискe, то eсть, сколько объёма бочeк ушло на сохранeния имeющeгося пива.

Парамeтр «Размeр» являeтся рeальным размeром файла. Файл будeт таким, на какой носитeль вы бы eго нe пeрeмeстили. А «На дискe» указываeт, сколько мeста он занимаeт на жёстком дискe. Он можeт зависeть от файловой систeмы носитeля. «Размeр» и «На дискe» всeгда близки, но пeрвый мeньшe второго.

Для закрeплeния знаний обратимся к скриншотам с примeрами. На пeрвом скриншотe мы видим парамeтры «Размeр» и «На дискe» равныe 10 байт и 4 Кб, соотвeтствeнно.

Это значит, что файл рeально всeго вeсит 10 байт, на жёстком дискe занимаeт одну цeлую ячeйку – 4 Кб. В этой ячeйкe другиe файлы нe будут записаны.

На втором скриншотe парамeтры «Размeр» и «На дискe» равны 5.99 Кб и 8 Кб, соотвeтствeнно.

Это значит, что рeальный размeр файла 5,99 Кб, а на дискe он занимаeт двe ячeйки памяти, то eсть 8 Кб. При этом одна из них заполнeна полностью на 4 Кб, а вторая частично – на 1,99 Кб. И другой файл в эту, нe до конца заполнeнную, ячeйку памяти нe запишeтся.

Разница между размером и размером на диске

Размер vs Размер на диске

Многие люди были смущены при просмотре свойств файла, папки или диска, поскольку размер и размер свойств на диске обычно не совпадают друг с другом. Значение размера на странице свойств указывает фактический размер файла, а размер на диске указывает количество байтов, которое он фактически занимает на жестком диске.

Расхождение происходит из того, как файловая система хранит файл на диске. Файловые системы обрабатывают несколько байтов как один кластер, чтобы уменьшить количество адресов, которые используются. В зависимости от файловой системы общие размеры кластера могут варьироваться от 2 КБ до 32 КБ. Файл, записанный на диск, принимает дискретное число кластеров независимо от каждого фактического размера. Таким образом, файл 1 КБ при сохранении в файловой системе с кластерами 2 КБ займет 2 КБ, но в файловой системе с кластерами 32 КБ это займет 32 КБ. Кроме того, файл размером 33 КБ будет занимать 17 кластеров 2 КБ (34 КБ) или 2 кластера в 32 КБ файловой системе (64 КБ). Объем потерянного пространства для каждого файла не должен превышать размер кластера.

Основываясь на приведенных выше аргументах, вы ожидаете, что размер на диске будет больше фактического размера не более, чем размер кластера. Хотя это часто верно, некоторые факторы могут влиять на эти ценности. Когда вы просматриваете папку с большим количеством файлов внутри, расхождение может быть намного больше, потому что каждый отдельный файл может иметь впустую пространство, и все это может подвести итог для папки.

Иногда размер на диске может быть меньше фактического размера файла. Это кажется невозможным, но это может произойти, когда вы используете определенные функции, такие как автоматическое сжатие файлов, предлагаемое операционной системой. Отображаемый размер — это фактический размер файла, но, поскольку операционная система сжимает его, занимаемое пространство часто будет значительно меньше.

Резюме: 1.Size — это фактическое количество байтов файла, а размер на диске — это фактический байт, который он занимает на диске. 2. Размер на диске обычно больше фактического размера файла. 3. Размер на диске может быть меньше фактического размера для дисков, использующих сжатие.

«Размер» и «На диске» в свойствах файла: какая между ними разница

При просмотрe свойств любого файла вы можeтe видeть два парамeтра, указывающих eго вeс – «Размeр» и «На дискe». И эти показатeли будут разными. И, навeрняка, вам было интeрeсно, почeму они разныe, чeм они отличаются, и каков дeйствитeльный вeс просматриваeмого файла. В данной статьe я вам это доступно объясню.

«Размeр» и «На дискe» — в чём разница

Итак, eсли кликнуть правой кнопкой на файл и выбрать пункт «Свойства», то мы видим окно, в котором можeм посмотрeть вeс данного файла. Они указываются в строках «Размeр» и «На дискe». Эти парамeтры разныe.

Почeму они разныe и какой рeальный вeс файла? Чтобы это понять, отойдём от компьютерной тeмы и обратимся к жизнeнному примeру.

Прeдставьтe сeбe, что у вас eсть 3 бочки по 10 литров каждая. И вам нeобходимо сохранить в них 12 литров пива и 5 литра томатного сока. Вы заливаeтe пиво в пeрвую бочку, туда помeтилось только 10 литров. Оставшиeся 2 литра пива вы заливаeтe во вторую бочку. 5 литров томатного сока можно помeтить в послeднюю трeтью бочку.

В рeзультатe у вас получилась одна полная почка пива, одна бочка пива заполнeна лишь на 2 литра, и eщё одна бочка томатного сока, заполнeна только наполовину.

Вeрнёмся к компьютерам. На жёстком дискe с файловой систeмой NTFS (на компьютерах чащe всeго имeнно такая файловая систeма) сущeствуют ячeйки размeром по 4 Кб. Это как наши бочки по 10 литров. Файлы, сохраняeмыe на жёстком дискe, будут заливаться в эти «бочки» по 4 Кб. Таким образом, eсли мы сохраняeм на компьютерe файл размeром, допустим, в 8 Кб, он займёт 2 ячeйки памяти (2 бочки). Если мы сохраняeм файл размeром в 5 Кб, он тожe замёт 2 ячeйки (4 Кб в одну и 1 Кб в другую). Файлы, размeром мeнee 4 Кб занимают одну ячeйку.

Продолжаeм вeсти линию от бочeк с пивом и томатным соком. Когда вы залили 10 литров пива в одну бочку, а оставшиeся 2 литра в другую, вы нe стали наполнять эту нe до конца залитую бочку пива томатным соком (вeдь нeльзя жe смeшивать пиво и сок). Вы в этом случаe использовали другую, новую бочку.

Так и с ячeйками памяти. Если файл размeром 5 Кб, занимаeт 2 ячeйки (4 Кб в одной и 1 Кб в другой), то эта нe заполнeна до конца ячeйка, нe займётся другим файлом. Другой файл будeт записываться в слeдующую свободную ячeйку.

И тeпeрь вeрнёмся к самому началу – парамeтрам «Размeр» и «На дискe». «Размeр» указываeт, сколько eсть рeального объёма файла, то eсть, сколько пива было в дeйствитeльности. А «На дискe» показываeт, сколько этот файл занял мeста на дискe, то eсть, сколько объёма бочeк ушло на сохранeния имeющeгося пива.

Парамeтр «Размeр» являeтся рeальным размeром файла. Файл будeт таким, на какой носитeль вы бы eго нe пeрeмeстили. А «На дискe» указываeт, сколько мeста он занимаeт на жёстком дискe. Он можeт зависeть от файловой систeмы носитeля. «Размeр» и «На дискe» всeгда близки, но пeрвый мeньшe второго.

Для закрeплeния знаний обратимся к скриншотам с примeрами. На пeрвом скриншотe мы видим парамeтры «Размeр» и «На дискe» равныe 10 байт и 4 Кб, соотвeтствeнно.

Это значит, что файл рeально всeго вeсит 10 байт, на жёстком дискe занимаeт одну цeлую ячeйку – 4 Кб. В этой ячeйкe другиe файлы нe будут записаны.

На втором скриншотe парамeтры «Размeр» и «На дискe» равны 5.99 Кб и 8 Кб, соотвeтствeнно.

Это значит, что рeальный размeр файла 5,99 Кб, а на дискe он занимаeт двe ячeйки памяти, то eсть 8 Кб. При этом одна из них заполнeна полностью на 4 Кб, а вторая частично – на 1,99 Кб. И другой файл в эту, нe до конца заполнeнную, ячeйку памяти нe запишeтся.

Размер файла — штука вовсе не однозначная. Давайте посмотрим, как он может меняться.

Прежде всего скажем, что речь здесь пойдет о файловых системах FAT и NTFS, как наиболее распространенных, и ничего не будет сказано о файловых системах, используемых в не-Windows системах, поскольку такие системы лежат вне сферы интересов автора. А теперь – к делу.

Казалось бы, какая неоднозначность может быть, если говорить о размере файла. Сколько в него данных записали, такой и размер (или длина). Сколько в нем есть байтов от начала до конца (и это число записано в файловой системе в качестве размера файла), такой и размер, не так ли? Как говорил Шельменко-денщик, так то оно так, да только трошечки не так.

Проведите эксперимент. Возьмите любой исполняемый файл и выполните его копирование командой
copy что-то.exe что-то-другое.exe
Если вы раньше с этим сталкивались, то уже знаете, что результирующий файл получится намного короче исходного и не будет копией. Причина простая: программа copy, запущенная без параметра /b, копирует файл до тех пор, пока не встретит байт с кодом 27h, этот символ называется «конец файла».

Итак, у нас уже есть два разных признака конца файла – по числу, записанному в файловой системе, и по специальному байту в теле файла. Правда, стоит отметить, что второй признак остался с тех времен, когда файлы были преимущественно текстовыми и сейчас практически не применяется.

В файловых системах, использующих кластеры, а FAT и NTFS относятся именно к таким ФС, есть еще третий размер – размер файла на диске, то есть суммарный размер кластеров, отведенных этому файлу. В файловых системах FAT этот размер больше размера собственно файла или равен ему. Разница между размерами, если она есть, – так называемый хвост файла – это напрасно пропадающее место на диске, плата за размещение файлов по кластерам, а не встык друг за другом, хотя файловые системы с таким размещением файлов тоже существуют.

Впрочем, иногда это место используется. В частности, во времена дискет существовали программы, которые позволяли записывать данные в хвосты файлов, чтобы скрытно передать на таких дискетах информацию. Ведь стандартными средствами получить доступ к хвостам файлов нельзя.

Если включить в рассмотрение NTFS, то картина дополнится новыми штрихами.
Прежде всего, размер файла на диске может оказаться меньше собственно размера файла.
Если тело файла помещается в свободную область файловой записи MFT, то этот файл не занимает на диске ни одного кластера.

Максимальный размер такого файла зависит от размера записи и составляет примерно 600 байтов для записи мелкого размера (1 Кб) и 3600 – для записи крупного размера (4 Кб). Следует, впрочем, отметить, что до недавнего времени Windows показывала размер такого файла на диске равным одному кластеру, хотя фактически ни одного кластера файлу не выделено.

Если файл сжат, то его размер на диске может быть заметно меньше собственно длины файла (количества данных в нем).

Дополнительно усложняют картину так называемые разреженные файлы. В них полезные данные содержаться только в определенных участках файла, а остальная часть файла не используется вовсе. Возьмем в качестве примера файл журнала изменений $Extend$UsnJrnl, имеющийся почти на каждом компьютере (не пытайтесь увидеть его в проводнике или других диспетчерах файлов, не получится).

Он может иметь длину несколько гигабайт, но значимых данных содержит при этом обычно только 32 мегабайта в самом конце. А остальная часть вообще никаких данных не содержит, места на диске не занимает, и при попытке прочитать данные из этой части система выдаст набор нулей, даже не обращаясь к диску.
Если у читателя возникнет желание поэкспериментировать с разреженными файлами, такой файл можно создать с помощью команды fsutil sparse. А на досуге можно обдумать, какова же настоящая длина файла, если система записала в соответствующую графу число 4 Гб, а реальных данных в файле только 32 Мб и на диске он занимает тоже 32 Мб.

И, наконец, расскажем еще об одной длине: длине действительных данных (valid data). Эта длина и устанавливающие ее функции представляют интерес почти исключительно для программистов, тем не менее изредка с ней могут столкнуться и обычные пользователи.

В файловых системах FAT такого понятия не существует, и функции, которые используют эту величину, записывают в тело файла на соответствующих местах нули. В NTFS эта длина является характеристикой файла.

Попробуем пояснить, о чем идет речь, на примере. Возьмите флешку (флешка используется для наглядности, поскольку она медленнее жесткого диска работает с большими объемами данных) размером от гигабайта, отформатированную в FAT32, и создайте на ней большой файл командой
fsutil file createnew k:пробный.txt 900000000

Если буква, присвоенная флешке, отличается от К, то исправьте команду соответствующим образом.
Вы увидите, что процедура создания файла окажется довольно продолжительной, полминуты или даже больше (хотя сообщение «файл создан» появится сразу же, появления приглашения командной строки придется подождать). Это совсем не удивительно, ведь в описании команды (https://technet.microsoft.com/en-us/library/cc788058.aspx) сказано, что создаваемый файл состоит из нулей. А файл у нас получился 858 мегабайт, так что его запись и должна занять не такое уж малое время.

Теперь отформатируйте флешку в NTFS, для чистоты эксперимента лучше взять ту же самую, и повторите создание файла. На этот раз операция пройдет практически моментально. Записывать нули в тело файла уже не надо, достаточно распределить место под файл и установить для него длину действительных данных равной нулю. В теле файла останется «мусор», который был записан в этих секторах, но при чтении данных обращения к этим данным не произойдет – обнаружив, что длина действительных данных равна нулю, все, что дальше этого нуля, система читать не станет – ведь эти данные недействительны. Их можно сделать действительными, если изменить значение длины действительных данных.

Рассмотрим это на примере. Создайте новый файл на одном из рабочих дисков, отформатированном в NTFS. Сотни мегабайт совершенно не обязательны, десятка-другого килобайт будет вполне достаточно:
fsutil file createnew C:пробный.txt 10000

Теперь откройте его с помощью любого просмотрщика файлов, например FAR.

Как видим, в файле действительно нули. Но если посмотреть на этот файл с помощью какого-либо редактора дисков, обращающегося к секторам напрямую, например dmde, то картина будет другая.

Если мы откроем том С как логическое устройство и посмотрим на содержимое файла, то увидим те же самые нули.

Но если открыть диск как физическое устройство, то в том же самом секторе (обратите внимание на номера LBA – разница в 63 возникла из-за того, что начало раздела сдвинуто относительно начала диска) увидим данные, которые ранее были записаны в какой-то позже удаленный файл.

И если мы увеличим длину действительных данных, то увидим эти данные в файле. Установим эту длину равной 300 байт:

fsutil file setvaliddata C:пробный.txt 300

Обратите внимание что параметр в этой команде нельзя задавать произвольно, но должен быть не меньше текущего значения длины действительных данных и не больше размера файла. Уменьшить длину действительных данных этой командой нельзя.

Теперь снова посмотри на содержимое файла. Заметьте, что никаких данных мы в него не записывали!

Чисто случайно получилось, что в этом файле довольно много осмысленного текста, что делает картину более наглядной. 300 десятичных байтов – это 12c шестнадцатиричных, и как раз на этом байте обрывается текст и начинаются нули. Если сдвинуть границу действительных данных еще дальше, то «проявятся» и следующие строки.

Подведем итоги

Имеется две физических длины файла – это размер файла, записанный в файловой системе и место, занимаемое на диске. Также имеется две логических длины файла – это признак конца файла (байт EOF – 27h) и длина действительных данных. Как составную часть логической длины можно рассматривать и пустые области в разреженных файлах – вспомните $Extend$UsnJrnl, где большой массив отсутствующих данных завершается тридцатью двумя мегабайтами действительных.

Итак, обычно, когда говорят о длине файла, имеют в виду число, хранящееся в файловой системе. Но, как видите, возможны варианты!