Что значит фактический размер файла

Обновлено: 24.06.2024

Содержание

Основные единицы хранения информации

Байт – это очень маленькое количество информации. На практике чаще встречаются более крупные единицы, а именно:

  • килобайт (равен 1024 байтам, сокращенно – kb или КБ);
  • мегабайт (равен 1024 килобайтам, сокращенно – mb или МБ);
  • гигабайт (равен 1024 мегабайтам, сокращенно – gb или ГБ);
  • терабайт (равен 1024 гигабайтам, сокращенно – tb или ТБ).

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

Таблица преобразования

При записи файла на диск может потребляться больше дискового пространства чем необходимо файлу. Это связано с тем, что файловая система округляет размер файла до целого числа секторов резервируя тем самым под файл все оставшееся неиспользуемое место в секторе. Сектором является наименьший объем дискового пространства, адресуемого файловой системой. Размер секторов варьируется от нескольких сотен до нескольких тысяч байт в различных файловых системах. Меньший размер секторов позволяет более эффективно использовать дисковое пространство, но снижает производительность файловой системы.

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

Существует большое количество файловых систем, созданных для разных устройств внешней памяти и разных операционных систем. В них используются, соответственно, разные принципы размещения данных на носителе. Наиболее распространенными файловыми системами, с которыми можно столкнуться при работе на персональных компьютера, являются системы FAT, FAT32 и NTFS. Знание основных принципов их построения необходимо не только специалисту в области вычислительной техники, но и обычному пользователю. [Источник 1]

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

Как определить размер файла

Чтобы узнать размер файла необходимо щелкнуть по нему правой кнопкой мышки и в открывшемся контекстном меню выбрать пункт "Свойства". Откроется окно "Свойства…", в котором и будет отображена необходимая информация. В поле "Размер" будет отображаться размер этого файла, в соответствии с рисунком 1.


Рисунок 1 - "Свойства"

Как определить суммарный размер нескольких файлов

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

Операционная система Windows позволяет решать подобные задачи значительно проще. Но для этого необходимо овладеть навыком выделения нескольких файлов и папок. Самый простой способ выделить какой-нибудь файл – один раз щелкнуть по нему левой кнопкой мышки.

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

Чтобы выделение с предыдущего файла не снималось, на клавиатуре нужно постоянно удерживать нажатой кнопку "Ctrl". То есть, чтобы выделить несколько файлов, необходимо нажать на клавиатуре кнопку "Ctrl", и, не отпуская ее, поочередно один раз щелкнуть левой кнопкой мышки по каждому из них. Кнопку "Ctrl" следует отпускать, когда все необходимые файлы будут выделены.

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

Как изменить размер файла

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

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

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

Прежде всего скажем, что речь здесь пойдет о файловых системах 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

Теперь отформатируйте флешку в 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, где большой массив отсутствующих данных завершается тридцатью двумя мегабайтами действительных.

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

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

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

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

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

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

Представьте себе, что у вас есть 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 Кб. И другой файл в эту, не до конца заполненную, ячейку памяти не запишется.

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

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

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

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

5 Comments

Size"А"Размер на диске" относится к пространство, занимаемое файлом на диске (HDD) и фактический размер файла. Если у вас есть папка большого объема (скажем, более 2 ГБ), в которой вы храните много файлов .doc, .txt, .php и т. Д.… Вы заметите «Свойства»Поскольку дисковое пространство, занимаемое этой папкой (Размер на диске), больше, чем фактический объем файлов (Размер).

На изображении ниже у нас есть папка «Demo», которая содержит 67.155 8.958 файлов, сгруппированных в XNUMX XNUMX папок. Разница в размерах между "размер"А"размер на диске"очень большой. Размер: 3.17GB / Размер на диске: 6.98GB.

Toshiba-HDD-внешние

Та же папка "Demo" с почти таким же количеством файлов и папок (эти различия можно не учитывать), но stoctat на другой HDD , на изображении ниже мы видим, что разница между «размером» и «размером на диске» намного меньше, чем в предыдущем случае. Размер: 3.17GB & Размер на диске: 3.35GB.

местного HDD-дата

Как и где эта разница?

Size" относится к Фактический размер файлаИ "Размер на диске" относится к занятого пространства на жестком диске из файла. Разница в объеме "Размер на диске" в двух приведенных выше примерах определяется как Размер единицы объема (Размер кластера) Жесткого диска.
Вы, наверное, заметили, что когда вы хотите отформатировать разделЕсли вы выберете NTFS, у вас есть несколько вариантов, включая "Размер кластера”(Установить, чтобы быть Размер единичного круга - 512 байтов, 1024 байта, 2048 байтов, 16 килобайт, 32 килобайта, 64 килобайта и т. Д.).

Размер кластера

Хорошо, допустим, вы настроили его для раздела жесткого диска 64 килобайт / шт. Поскольку эти единицы неделимыйИ диск не может храниться несколько файлов, если у вас есть два небольших файлов 2 килобайт каждый (4 килобайт в общей сложности) они будут занимать на диске 128 килобайт,
Чтобы сэкономить место на диске рекомендуется для небольших файлов, не используемых в настоящее время, в архив (. Zip. Rare).

Читайте также: