Размер блока
Трехмерная дорожка (одна и та же дорожка на всех дисках) называется цилиндром. Каждый трек разделен на 63 сектора. Каждый сектор содержит 512 байт данных. Поэтому размер блока в таблице разделов равен 64 головам * 63 секторам * 512 байтам ... разделенным на 1024 ... :-)
Источник: Разметка с помощью fdisk
Каждый раз, когда Linux ссылается на размер блока, он почти всегда составляет 1024 байта - Linux использует 1024-байтовые блоки в качестве своих примитивных единиц для буферного кэша и всего остального. Единственный раз, когда это не так, в драйверах, специфичных для файловой системы, поскольку некоторые файловые системы используют другие детализации (например, в файловой системе ext3 нормального размера размер блока файловой системы обычно составляет 4096 байт). Тем не менее, вы почти никогда не увидите размер блока файловой системы; Практически единственный способ увидеть это - быть хакером ядра или запускать такие программы, как dumpe2fs.
Проблема с этим заключается в том, что есть четыре отдельных элемента, которые вы должны иметь в виду. Что еще хуже, два из этих подразделений носят одно и то же имя. Это разные единицы:
- Размер аппаратного блока, «размер сектора»
- Размер блока файловой системы, «размер блока»
- Размер блока кеш-буфера ядра, «размер блока»
- Размер блока таблицы разделов, "размер цилиндра"
Чтобы различать размер блока файловой системы и размер блока буферного кеша, я буду следовать терминологии FAT и использовать «размер кластера» для размера блока файловой системы.
Размер сектора - это единицы, с которыми работает аппаратное обеспечение. Это варьируется между различными типами оборудования, но большинство аппаратных средств в стиле ПК (дискеты, IDE-диски и т. Д.) Используют сектора по 512 байт.
Размер кластера - это единица выделения, которую использует файловая система, и именно она вызывает фрагментацию - я уверен, что вы знаете об этом. В файловой системе ext3 среднего размера это обычно 4096 байт, но вы можете проверить это с помощью dumpe2fs
. Помните, что их также обычно называют « блоками », но я называю их здесь кластерами . Размер кластера - это то, что возвращается st_blksize
в буфере статистики, чтобы программы могли рассчитывать фактическое использование диска файлом.
Размер блока - это размер буферов, которые ядро использует внутри, когда оно кэширует сектора, которые были считаны с устройств хранения (отсюда и название «блочное устройство»). Так как это самая примитивная форма хранения в ядре, все размеры кластеров файловой системы должны быть кратны этому. Этот размер блока также является тем, на что почти всегда ссылаются пользовательские программы. Например, когда вы запускаете
du
без параметров -h или -H, он вернет, сколько из этих блоков занимает файл. df
также будет сообщать размеры в этих блоках, столбец «Блоки» в fdisk -l
выходных данных будет такого типа и так далее. Это то, что чаще всего называют «блоком». Два сектора диска вписываются в каждый блок.
Размер цилиндра используется только в таблице разделов и в BIOS (а BIOS не используется в Linux).
Источник: размер дискового блока Linux ... помогите пожалуйста
Секторы 0-31
Чтобы ответить на ваш вопрос о первых 32 секторах, поскольку флэш-накопитель является устройством в формате FAT, а затем, глядя на определение файловой системы FAT, можно увидеть, что файловая система FAT состоит из четырех различных разделов:
а) Зарезервированные сектора;
б) область таблицы размещения файлов (FAT);
c) регион корневого каталога и;
г) Область данных.
Зарезервированные сектора , расположенные в самом начале, являются (в данном случае) секторами 0-31:
Первый зарезервированный сектор (логический сектор 0) - это загрузочный сектор (также называемый
Volume Boot Record (VBR) ). Он включает в себя область, называемую « Блок параметров BIOS» (с некоторой базовой информацией о файловой системе, в частности ее типом и указателями на расположение других разделов), и обычно содержит код загрузчика операционной системы.
Важная информация из загрузочного сектора доступна через структуру операционной системы, называемой блоком параметров привода (DPB) в DOS и OS / 2.
Общее количество зарезервированных секторов указывается полем внутри загрузочного сектора и обычно составляет 32 в файловых системах FAT32 .
Для файловых систем FAT32 зарезервированные сектора включают в себя информационный сектор файловой системы в логическом секторе 1 и резервный загрузочный сектор в логическом секторе 6.
В то время как многие другие поставщики продолжали использовать настройку с одним сектором (только логический сектор 0) для загрузчика начальной загрузки, код загрузочного сектора Microsoft вырос с появлением логических секторов 0 и 2 с момента появления FAT32, причем логический сектор 0 зависит от подпрограммы в логическом секторе 2. Область резервного загрузочного сектора также состоит из трех логических секторов 6, 7 и 8. В некоторых случаях Microsoft также использует сектор 12 зарезервированной области для расширенного загрузчика.
Просто дополнительная информация, не относящаяся к вопросу ОП
Область FAT , будет в секторе 32:
Как правило, он содержит две копии (могут отличаться) таблицы размещения файлов для проверки избыточности, хотя и используется редко, даже утилитами восстановления дисков.
Это карты области данных, указывающие, какие кластеры используются файлами и каталогами. В FAT12 и FAT16 они сразу следуют за зарезервированными секторами.
Обычно дополнительные копии хранятся в тесной синхронизации при записи, а при чтении они используются только при возникновении ошибок в первой FAT. В FAT32 можно переключиться с поведения по умолчанию и выбрать одну FAT из доступных для использования в целях диагностики.
Первые два кластера (кластер 0 и 1) на карте содержат специальные значения.
Корневой каталог Регион :
Это таблица каталогов, в которой хранится информация о файлах и каталогах, расположенных в корневом каталоге. Он используется только с FAT12 и FAT16 и накладывает на корневой каталог фиксированный максимальный размер, который предварительно выделяется при создании этого тома. FAT32 хранит корневой каталог в области данных, а также файлы и другие каталоги, что позволяет ему расти без таких ограничений. Таким образом, для FAT32 область данных начинается здесь.
Область данных :
Это где фактические данные файла и каталога хранятся и занимают большую часть раздела. Традиционно неиспользуемые части области данных инициализируются со значением заполнителя 0xF6 согласно Таблице параметров диска (DPT) INT 1Eh во время форматирования на IBM-совместимых машинах, но также используются в портфеле Atari. 8-дюймовые дискеты CP / M обычно поставляются предварительно отформатированными со значением 0xE5; посредством цифровых исследований это значение также использовалось на дискетах с форматированием Atari ST. Амстрад использовал вместо 0xF4. Некоторые современные средства форматирования стирают жесткие диски со значением 0x00, тогда как значение 0xFF, значение по умолчанию для непрограммированного флэш-блока, используется на флэш-дисках для уменьшения износа. Последнее значение обычно также используется на дисках ПЗУ. (Некоторые расширенные инструменты форматирования позволяют настраивать формат заполнителя байта.)
Размер файлов и подкаталогов можно произвольно увеличить (при условии наличия свободных кластеров), просто добавив дополнительные ссылки на цепочку файлов в FAT. Однако обратите внимание, что файлы размещаются в единицах кластеров, поэтому, если файл размером 1 КиБ находится в кластере 32 КиБ, 31 КиБ теряется.
FAT32 обычно начинает таблицу корневых каталогов в кластере № 2: первый кластер области данных.
Источник: Википедия - Таблица размещения файлов