Я думаю, что вы сбиты с толку, возможно, потому что вы прочитали несколько документов, которые используют другую терминологию. Такие термины, как «размер блока» и «размер кластера», не имеют универсального значения даже в контексте литературы по файловой системе.
Файловые
Для ext2 или ext3 ситуация относительно проста: каждый файл занимает определенное количество блоков . Все блоки в данной файловой системе имеют одинаковый размер, обычно один из 1024, 2048 или 4096 байт. Файл с размером между N блоками плюс один байт и N + 1 блоками занимает N + 1 блоков. Этот размер блока - то, что вы указываете mke2fs -b
. Нет отдельного понятия кластеров.
FAT файловая система , используемая , в частности , с помощью MS-DOS и ранних версий Windows , имеет так же простое распределение пространства. То, что ext2 называет блоками, FAT называет кластерами ; концепция такая же.
Некоторые файловые системы имеют более сложную схему размещения: они имеют блоки фиксированного размера, но могут использовать один и тот же блок для хранения последних нескольких байтов более чем одного файла. Это известно как перераспределение блоков ; Reiserfs и Btrfs делают это, но не ext3 или даже ext4.
коммунальные услуги
Утилиты Unix часто используют слово «блок» для обозначения единицы произвольного размера, обычно 512 байт или 1 кБ. Такое использование не связано с какой-либо конкретной файловой системой или дисковым оборудованием. Исторически сложилось, что блок 512B возник, потому что в то время диски и файловые системы часто работали по 512B, но современное использование просто произвольно. Традиционные утилиты и интерфейсы Unix по-прежнему иногда используют блоки 512B, хотя блоки 1kB сейчас часто предпочтительнее . Вам нужно проверить документацию каждой утилиты, чтобы узнать, какой размер блока она использует (у некоторых есть переключатель, например, du -B
или df -B
в Linux).
В stat
утилите GNU / Linux эта blocks
цифра равна числу блоков в 512 Б, используемых файлом. IO Block
Цифра предпочтительный размер для файла ввода-вывода, который в принципе не связаны , но , как правило , указывает на размер блока основной файловой системе (или размер кластера , если это то, что вы хотите назвать его). Здесь у вас есть 13-байтовый файл, который занимает один блок в файловой системе ext3 с размером блока 2048; поэтому файл занимает 4 512-байтовых блоков (называемых «блоками» stat
).
Диски
Большинство дисков имеют интерфейс, который показывает диск в виде группы секторов . Диск может записывать или читать только целый сектор, а не отдельные биты или байты. Большинство жестких дисков имеют сектора по 512 байт, хотя диски с размером 4 КБ начали появляться пару лет назад.
Размер сектора диска напрямую не связан с размером блока файловой системы, но наличие блока, состоящего из целого числа секторов, лучше для производительности.
¹
Исключение: редкие файлы экономят место.