Гарантируется ли, что начало файла выровнено по размеру страницы файловой системы?
Кажется, мы ничего не можем сделать, чтобы помочь выравниванию файловой системы, даже если это не выполняется.
Это правда?
1 ответ
Предполагая, что под размером страницы вы подразумеваете единицу логического выделения файловой системы (обычно кластеры 4K или 8K), вы не можете предполагать, что файл будет начинаться на границе с каждой файловой системой.
Многие ФС на основе FFS (SunOS/SVR4 и HP-UX UFS, BSD UFS1 и UFS2, LFS) реализуют фрагменты для экономии места при создании большого количества небольших файлов. Обратите внимание, что хотя ext2/3 основана на FFS, она не поддерживает фрагменты.
Другими распространенными (или менее распространенными) FS, которые реализуют перераспределение блоков, являются Netware FS, ReiserFS, Reiser4, IBM JFS2, Sun SAM/QFS и VMWare VMFS.
Современные файловые системы, такие как btrfs и zfs, также поддерживают выделение блоков.
Во всех этих файловых системах небольшой файл может начинаться с ненулевого смещения от границы единицы размещения.
В любом случае, большие файлы, то есть файлы, размер которых превышает единицу выделения, вероятно, начнутся с границы почти на всех, если не на всех файловых системах.