Сравнение файловых систем
Эту статью предлагается удалить. |
Этот раздел слишком короткий. |
Данная таблица сравнивает основные и технические особенности для списка файловых систем. Смотрите отдельные статьи о каждой файловой системе для получения дополнительной информации.
Основная информация
[править | править код]Примечания
- ↑ Metacomco выпустила так называемую «evolution» версию оригинальной файловой системы Amiga, реализованной первой Amiga Corporation (бывшая Hi-Toro) в 1982-83/85. По правде говоря, Metacomco сделала кашу из ранних ФС, убивших её простую и легкую структуру. Сперва OFS называлась просто Amiga File System. Название изменили с появлением «новой» Fast File System, созданной в 1987 для той же платформы.
- ↑ Microsoft впервые представила FAT32 в Windows 95 OSR2 (OEM Service Release 2) и впоследствии в Windows 98.
- ↑ IBM представила JFS с начальным релизом AIX версии 3.1 в 1990 году. Эта файловая система сейчас называется JFS1. Новая JFS (сейчас называемая JFS2), базирующаяся на Linux‐портах, была впервые применена в OS/2 Warp Server for e-Business в 1999 году.
Ограничения
[править | править код]Максимальная длина имён файлов | Допустимые символы в названиях[II 1] | Максимальная длина пути файла | Максимальный размер файла | Максимальный размер тома[II 2] | |
---|---|---|---|---|---|
RT-11 | 6+3 символа в коде RADIX50 | A —Z , 0 —9 , $ , . , % , пробел
|
14 символов | 32 МиБ (65536 × 512) | 32 МиБ |
V6FS | 14 байт[II 3] | Любые символы, кроме NUL и / [II 4]
|
Нет установленных ограничений[II 5] | 8 МиБ[II 6] | 2 ТиБ |
V7FS | 14 байт[II 3] | Любые символы, кроме NUL и / [II 4]
|
Нет установленных ограничений[II 5] | 1 ГиБ[II 7] | 2 ТиБ |
FAT12 | 8+3 символов (255 байт для VFAT)[II 3] | Любые символы ANSI (Unicode для VFAT), кроме NUL[II 3][II 4] | Нет установленных ограничений[II 5] | 32 МиБ | 1 МиБ — 32 МиБ |
FAT16 | 8+3 символов (255 байт для VFAT)[II 3] | Любые символы ANSI (Unicode для VFAT), кроме NUL,[II 3][II 4] | Нет установленных ограничений[II 5] | 2 ГиБ | 16 МиБ — 2 ГиБ |
MFS | 30 байт[II 3] | Любые символы, кроме NUL и : [II 4]
|
Нет установленных ограничений[II 5] | ? | ? |
HFS | 30 байт[II 3] | Любые символы, кроме NUL и : [II 4]
|
Нет установленных ограничений[II 5] | ? | ? |
FAT32 | 255 байт[II 3] | Любые символы Юникода, кроме NUL[II 3][II 4] | Нет установленных ограничений[II 5] | 4 ГиБ | 2ТиБ — 8 ТиБ[II 8] |
HPFS | 255 байт | Любые символы, кроме NUL[II 4] | Нет установленных ограничений[II 5] | 4 ГиБ | 2 ТиБ[II 9] |
NTFS | 255 символов | Любые символы Юникода, кроме «NUL» и / для POSIX или «NUL», / , \ , " , * , ? , < , > , | , : для Win32[II 10]
|
32767 символов Юникода; каждая компонента пути (каталог или имя файла) — до 255 символов[II 5] | 16 ЭиБ[II 11] | 16 ЭиБ[II 11] |
HFS+ | 255 символов[II 12] | Любые символы Юникода, кроме NUL[II 4][II 13] | ? | 8 ЭиБ | 8 ЭиБ |
FFS | 255 байт | Любые символы, кроме NUL[II 4] | Нет установленных ограничений[II 5] | 4 ГиБ | 256 ТиБ |
Amiga FFS | 30 байт | Любые символы, кроме NUL, / и :
|
Нет установленных ограничений[II 5] | 2 ГиБ | 4 ГиБ |
SFS | 107 байт | Любые символы, кроме NUL, / и :
|
Нет установленных ограничений[II 5] | 4 ГиБ | 128 ГиБ |
PFS3 | 31-106 байт[II 14] | Любые символы, кроме NUL, / и :
|
Нет установленных ограничений[II 5] | 108 ГиБ | 2 ТиБ |
UFS1 | 255 байт | Любые символы, кроме NUL[II 4] | Нет установленных ограничений[II 5] | 4 ГиБ — 256 ТиБ | 256 ТиБ |
UFS2 | 255 байт | Любые символы, кроме NUL[II 4] | Нет установленных ограничений[II 5] | 512 ГиБ — 32 ПиБ | 1 ЙиБ |
ext2 | 255 байт | Любые символы, кроме NUL, / [II 4]
|
Нет установленных ограничений[II 5] | 16 ГиБ — 2 ТиБ[II 2] | 2 ТиБ — 32 ТиБ |
ext3 | 255 байт | Любые символы, кроме NUL, / [II 4]
|
Нет установленных ограничений[II 5] | 16 ГиБ — 2 ТиБ[II 2] | 2 ТиБ — 32 ТиБ |
ext4 | 255 байт | Любые символы, кроме NUL, / [II 4]
|
Нет установленных ограничений[II 5] | 16 ГиБ — 16 ТиБ[II 2] | 1 ЭиБ |
ReiserFS | 4032 байт/255 символов | Любые символы, кроме NUL, / [II 4]
|
Нет установленных ограничений[II 5] | 8 ТиБ[II 15] | 16 ТиБ |
Reiser4 | ? | ? | Нет установленных ограничений[II 5] | 8 ТиБ on x86 | ? |
XFS | 255 байт | Любые символы, кроме NUL[II 4] | Нет установленных ограничений[II 5] | 9 ЭиБ[II 16] | 9 ЭиБ[II 16] |
JFS | 255 байт | Любые символы, кроме NUL[II 4] | Нет установленных ограничений[II 5] | 8 ЭиБ | 512 ТиБ — 4 ПиБ |
JFS2 | 255 байт | Любые символы Юникода, кроме NUL | Нет установленных ограничений[II 5] | 4 ПиБ | 32 ПиБ |
Be File System | 255 байт | Любые символы, кроме NUL[II 4] | Нет установленных ограничений[II 5] | 12 КиБ — 260 ГиБ[II 17] | 256 ПиБ — 2 ЭиБ |
AdvFS | 255 символов | Любые символы, кроме NUL[II 4] | Нет установленных ограничений[II 5] | 16 ТиБ | 16 ТиБ |
NSS | 256 символов | Зависит от используемого пространства имён[II 18] | Ограничивается только возможностями клиента | 8 ТиБ | 8 ТиБ |
NWFS | 80 байт[II 19] | Зависит от используемого пространства имён[II 18] | Нет установленных ограничений[II 5] | 4 ГиБ | 1 ТиБ |
ODS-5 | 236 байт[II 20] | ? | 4096 байт[II 21] | 1 ТиБ | 1 ТиБ |
VxFS | 255 байт | Любые символы, кроме NUL[II 4] | Нет установленных ограничений[II 5] | 16 ЭиБ | ? |
UDF | 255 байт | Любые символы Юникода, кроме NUL | 1023 байт[II 22] | 16 ЭиБ | ? |
ZFS | 255 байт | Любые символы Юникода, кроме NUL | Нет установленных ограничений[II 5] | 16 ЭиБ | 16 ЭиБ |
Btrfs | 255 байт | Любые символы Юникода, кроме NUL и /
|
Не менее 2¹⁷ байт | 16 ЭиБ | 16 ЭиБ |
exFAT | Неизвестно | Любые символы Юникода, кроме NUL | Нет установленных ограничений | 16 ЭиБ | 64 ЗиБ[II 23] в теории 512 ТиБ |
ReFS | 255 символов[II 24] | Любые символы Юникода, кроме NUL | 32767 символов Юникода | 16 ЭиБ | 1 ЙиБ |
APFS | 255 символов | Любые символы, кроме NUL, : [II 4]
|
Неизвестно | 8 ЭиБ | Неизвестно |
Максимальная длина имён файлов | Допустимые символы в названиях[II 1] | Максимальная длина пути файла | Максимальный размер файла | Максимальный размер тома[II 2] |
Примечания
- ↑ 1 2 Это ограничения на структуры входа на-диске каталога непосредственно. Специфические устанавливаемые драйверы файловой системы могут установить собственные ограничения на названия (имена) каталога и файла, в частности и операционные системы могут также установить собственные ограничения, поперёк всех файловых систем. MS DOS, Microsoft Windows, и OS/2 отвергают символы
\
,/
,:
,?
,*
,"
,>
,<
,|
и NUL в названии файлов и каталогов для всех файловых систем. Аналогично, версии операционной системы UNIX и Linux отвергают символы/
и NUL. - ↑ 1 2 3 4 5 Для файловых систем с переменным размером единицы размещения (блока/кластера) приведён диапазон размеров, показывающий максимальные размеры тома для минимально и максимально возможного размера единицы размещения файловой системы (напр., 512 байт и 128 КиБ для FAT — таков диапазон размера кластера, позволяемый структурами данных на диске, хотя некоторые драйверы устанавливаемых файловых систем и операционные системы не поддерживают размеры кластеров, большие 32 КиБ).
- ↑ 1 2 3 4 5 6 7 8 9 10 В Windows 95 появилась надстройка над FAT12 и FAT16, называемая VFAT. Она добавляет в указанные файловые системы поддержку длинных имён, до 255 символов и поддержку Unicode. При этом сама основная структура FAT12 и FAT16 не меняется, и может быть прочитана старыми версиями MS-DOS (с поддержкой только коротких имён формата 8.3). В FAT32 поддержка длинных имён имеется изначально. При запуске Windows 95 и Windows 98 в режиме MS-DOS поддержка длинных имён отсутствует, вне зависимости от применяемой файловой системы. В OS/2 длинные имена на FAT не поддерживаются (уточнить). Linux имеет чёткое разграничение на файловые системы FAT12/16 и VFAT. Если при монтировании раздела в Linux указан тип ФС «msdos», то будут поддерживаться только 8-разрядные имена формата 8.3 и не смогут содержать NUL (маркёр конца-каталога) или символ 229 (маркёр стёртого файла). Короткие имена также обычно не содержат символы нижнего регистра.
- ↑ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 В этих файловых системах элементы каталога с именами
.
и..
имеют особенное значение. Элементы с этими именами не запрещены, и на самом деле существуют как обычные элементы каталога в структурах данных на диске. Однако, эти элементы должны обязательно присутствовать в каталоге и иметь вышеуказанные значения. Эти элементы автоматически создаются в каждом создаваемом каталоге и каталоги без них считаются испорченными - ↑ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Структурам не свойственны ограничения в пределах диска. Специфические драйверы файловых систем и операционные системы могут наложить собственные ограничения. MS DOS не поддерживает пути к файлам длиннее 260 байт для FAT12 и FAT16. Аналогичное ограничение в Windows NT 32767 байт для файловой системы NTFS.
- ↑ Действительный максимум был 8640 КиБ, с 7 singly-indirect блоками и 1 doubly-indirect блоком; Вариант PWB/UNIX 1.0 использовал 8 singly-indirect блоков, достигая максимума в 512 КиБ.
- ↑ Действительный максимум был 1056837 КиБ, с 10 direct блоками, 1 singly-indirect блоком, 1 doubly-indirect блоком, и 1 triply-indirect блоком. Версии 4.0BSD и 4.1BSD, а также System V использовали 1024-байтные блоки вместо 512-байтных, с максимумом в 4311812608 байт или примерно 4 ГиБ.
- ↑ Большой раздел FAT32, будучи созданным, может работать нормально, но некоторые программы не позволяют создавать раздел FAT32 более 32 ГиБ. К ним относится и программа установки Windows XP. Используется команда FDISK с диска восстановления Windows ME (Emergency Boot Disk), для обхода этого ограничения.
- ↑ Это — предел структур «на-диске». Устанавливаемый драйвер Файловой системы HPFS для OS/2 использует высшие 5 битов номера сектора тома для его собственного использования, ограничивая размер тома до 64 ГиБ.
- ↑ www.linux-ntfs.org — NTFS Documentation (single HTML file)
- ↑ 1 2 Это ограничение дисковых структур. драйвер NTFS для Windows NT ограничивает размер поддерживаемого тома до 256 ТиБ, а размер файла — до 16 ТиБ соответственно.
- ↑ HFS, устаревшая версия HFS+, поддерживает только 31‐символьные имена файлов; более старые приложения обычно не работают с именами такой длины.
- ↑ HFS+ поддерживает использование escape-последовательностей, чтобы работать с Unicode. Пользователи старого программного обеспечения могут увидеть escape-последовательности вместо символов.
- ↑ Однократно задаётся специальной программой setfnsize.
- ↑ ReiserFS теоретически может иметь размер файлов в 1 ЭиБ, но «предел в 8 ТиБ появился на данный момент в результате применения 32‐битной архитектуры распределения страничного кэша»[1] Архивная копия от 24 октября 2007 на Wayback Machine
- ↑ 1 2 XFS имеет ограничение в Linux 2.4 на 64 ТиБ размер файлов и 2 ТиБ размер файловой системы. Этого ограничения нет в системе IRIX.
- ↑ Сильно варьирует в зависимости от размера блока и фрагментации групп размещения блоков.
- ↑ 1 2 NSS позволяет файлам иметь множественные названия, в отдельном именном пространстве.
- ↑ Некоторые пространства имён имели меньшие ограничения по длине имени. В «LONG» был лимит в 80 байт, в «NTFS» 80 байт, в «NFS» 40 байт и в «DOS» подразумевались имена типа 8.3.
- ↑ Максимальная общая длина имени файла/расширения составляет 236 байт; некоторые компоненты имеют собственную максимальную длину в 255 байт.
- ↑ Максимальная длина имени пути — 4096 байтов, но предел на индивидуальных компонентах составляют в целом 1664 байта.
- ↑ Это ограничение может быть снято в более новых версиях.
- ↑ Значение вычислено на основании 64-разрядного количества секторов размером 4096 байт. Однако текущая спецификация exFAT 32-разрядная с наибольшим кластером в 25 бит, что даёт адресуемый объём около 128 ПиБ
- ↑ Ранее заявлялось 32768 (2¹⁵) символов Building the next generation file system for Windows: ReFS | Building Windows 8 Архивная копия от 13 января 2018 на Wayback Machine
Метаданные
[править | править код]Владелец файла | Права файлов POSIX | Время создания файла | Время доступа/чтения | Время изменений метаданных | Время последней архивации | ACL | Метки безопасности/MAC | Расширенные атрибуты/Fork (filesystem)|Альтернативные потоки данных/вызовы | Контрольные суммы/ECC | |
---|---|---|---|---|---|---|---|---|---|---|
RT-11 | Нет | Нет | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет |
V6FS | Да | Да | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет |
V7FS | Да | Да | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет |
FAT12 | Нет | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет[III 1] | Нет |
FAT16 | Нет | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет[III 1] | Нет |
FAT32 | Нет | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет[III 1] | Нет |
HPFS | Да[III 2] | Нет | Да | Да | Нет | Нет | Нет | ? | Да | Нет |
NTFS | Да | Нет[III 3] | Да | Да | Да | Нет | Да | ? | Да | Нет |
HFS+ | Да | Да | Да | Да | Да | ? | Да | ? | Да | Нет |
FFS | Да | Да | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет |
Amiga FFS | Нет | Нет | Да | Нет | Да | Нет | Нет | Нет | Да | Нет |
SFS | Нет | Нет | Да | Нет | Да | Нет | Нет | Нет | Да | Нет |
PFS3 | Нет | Нет | Да | Нет | Да | Нет | Нет | Нет | Да | Нет |
UFS1 | Да | Да | Нет | Да | Да | Нет | Да[III 4] | Да[III 4] | Нет[III 5] | Нет |
UFS2 | Да | Да | Да | Да | Да | Нет | Да[III 4] | Да[III 4] | Да | Нет |
LFS | Да | Да | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет |
ext2 | Да | Да | Нет | Да | Да | Нет | Да[III 6] | Да[III 6] | Да | Нет |
ext3 | Да | Да | Нет | Да | Да | Нет | Да[III 6] | Да[III 6] | Да | Нет |
ext4 | Да | Да | Да | Да | Да | Нет | Да[III 6] | Да[III 6] | Да | Нет[III 7] |
ReiserFS | Да | Да | Нет | Да | Да | Нет | Да[III 6] | Да[III 6] | Да | Нет |
Reiser4 | Да | Да | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет |
XFS | Да | Да | Нет | Да | Да | Нет | Да | Да[III 6] | Да | Нет |
JFS | Да | Да | Да | Да | Да | Нет | Да | Да | Да | Нет |
Be File System | Да | Да | Да | Нет | Нет | Нет | Нет | Нет | Да | Нет |
AdvFS | Да | Да | Нет | Да | Да | Нет | Да | Нет | Да | Нет |
NSS | Да | Да | Да[III 8] | Да[III 8] | Да | Да[III 8] | Да | ? | Да[III 9][III 10] | Нет |
NWFS | Да | ? | Да[III 8] | Да[III 8] | Да | Да[III 8] | Да | ? | Да[III 9] | Нет |
ODS-5 | Да | Да | Да | ? | ? | Да | Да | ? | Да[III 11] | Нет |
VxFS | Да | Да | Да | Да | Да | Нет | Да | ? | Да[III 6] | Нет |
UDF | Да | Да | Да | Да | Да | Нет | Да | Нет | Да | Нет |
Fossil | Да | Да[III 12] | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет |
ZFS | Да | Да | Да | Да | Да | Да | Да | Да | Да[III 13] | Да |
exFAT | Нет | Нет | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Частично |
Btrfs | Да | Да | Да | Да | Неизвестно | Неизвестно | Да | Неизвестно | Да | Да |
APFS | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Частично |
Владелец файла | Права файлов POSIX | Время создания файла | Время доступа/чтения | Время изменений метаданных | Время последней архивации | ACL | Метки безопасности/MAC | Расширенные атрибуты/Fork (filesystem)|Альтернативные потоки данных/вызовы | Контрольные суммы/ECC |
Примечания
- ↑ 1 2 3 Драйверы FAT12 и FAT16 в OS/2 и Windows NT поддерживают расширенные атрибуты (используя псевдофайл «EA DATA. SF», чтобы занять для них кластеры для них). Драйверы для других операционных систем их не поддерживают.
- ↑ F-node содержит поле идентификатора пользователя. Это не используется нигде, кроме OS/2 Warp Server.
- ↑ Списки контроля доступа NTFS могут описывать любой способ доступа в стиле POSIX, но использование POSIX-подобного интерфейса не поддерживаются без дополнения «Сервисов для UNIX» или Cygwin.
- ↑ 1 2 3 4 Списки контроля доступа и Мак-метки наслоены наверху расширенных атрибутов.
- ↑ Некоторые операционные системы осуществили расширенные атрибуты как слой по UFS1 с параллельным поддерживанием файлов (например, FreeBSD 4.x).
- ↑ 1 2 3 4 5 6 7 8 9 10 Некоторые устанавливаемые драйверы файловой систем и операционные системы не могут поддержать расширенные атрибуты, списки контроля доступа или защищённые метки на этих файловых системах. Ядра Linux до 2.6.x могут или пропускать поддержку их в целом или требовать патча.
- ↑ Поддерживаются только контрольные суммы метаданных и журнала, но не самих данных.
- ↑ 1 2 3 4 5 6 Местное время, смещение по часовым поясам/UTC, и дата получено из параметров настройки времени ссылок/single timesync source in the NDS tree.
- ↑ 1 2 Novell называет эту особенность «множественные потоки данных». В опубликованных спецификациях говорится, что NWFS разрешает до 16 атрибутов и 10 потоков данных, и NSS разрешает неограниченные количества для обоих.
- ↑ Некоторые метаданные файлов и каталогов сохранены на сервере Netware независимо от того, установлены ли Сервисы директорий или нет, подобно дате/времени создания, размеру файла, состояния чистки, и так далее; и некоторые метаданные файлов и каталогов сохранённые в NDS/eDirectory, подобно разрешению доступа, монопольному использованию, и т. д.
- ↑ Атрибуты сервисов управлениев записями (RMS) включают тип и размер записи среди многих других.
- ↑ Атрибуты доступа файлов в 9P являются вариантом традиционных атрибутов доступа Unix с незначительными отличиями, например suid bit заменён новым атрибутом — эксклюзивный доступ (англ. exclusive access).
- ↑ «Расширенные атрибуты» Solaris’а на самом деле развитая версия альтернативных потоков данных, как в Solaris UFS, так и в ZFS.
Особенности
[править | править код]Жёсткие ссылки | Символьные ссылки | Журналирование блоков или транзакций | Журналирование только мета-данных | Чувствительно к регистру | Сохранение регистра символов | Лог изменений файлов | Снимки | XIP | |
---|---|---|---|---|---|---|---|---|---|
RT-11 | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
V6FS | Да | Нет | Нет | Нет | Да | Да | Нет | Нет | Нет |
V7FS | Да | Нет[IV 1] | Нет | Нет | Да | Да | Нет | Нет | Нет |
FAT12 | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
FAT16 | Нет | Нет | Нет | Нет | Нет | Частично | Нет | Нет | Нет |
FAT32 | Нет | Нет | Нет | Нет | Нет | Частично | Нет | Нет | Нет |
HPFS | Нет | Нет | Нет | Нет | Нет | Да | Нет | Неизвестно | Нет |
NTFS | Да | Да[IV 2] | Да[IV 3] | Да | Да[IV 4] | Да | Да | Да[IV 5] | Неизвестно |
HFS+ | Частично | Да | Нет | Да[IV 6] | Да[IV 7] | Да | Нет | Неизвестно | Нет |
FFS | Да | Да | Нет | Нет | Да | Да | Нет | Нет | Нет |
UFS1 | Да | Да | Нет | Нет | Да | Да | Нет | Нет | Нет |
UFS2 | Да | Да | Нет | Нет | Да | Да | Нет | Да | Неизвестно |
LFS | Да | Да | Да[IV 8] | Нет | Да | Да | Нет | Да | Нет |
ext2 | Да | Да | Нет | Нет | Да | Да | Нет | Нет | Неизвестно |
ext3 | Да | Да | Да[IV 9] | Да | Да | Да | Нет | Нет | Неизвестно |
ext4 | Да | Да | Да[IV 9] | Да | Да | Да | Нет | Нет | Неизвестно |
ReiserFS | Да | Да | Да[IV 10] | Да | Да | Да | Нет | Нет | Неизвестно |
Reiser4 | Да | Да | Да | Нет | Да | Да | Нет | Неизвестно | Неизвестно |
XFS | Да | Да | Нет | Да | Да[IV 11] | Да | Да | Да | Неизвестно |
JFS | Да | Да | Нет | Да | Да[IV 12] | Да | Нет | Неизвестно | Неизвестно |
Be File System | Да | Да | Нет | Да | Да | Да | Неизвестно | Неизвестно | Нет |
NSS | Да | Да | Неизвестно | Да | Да[IV 13] | Да[IV 13] | Да[IV 14] | Да | Нет |
NWFS | Да[IV 15] | Да[IV 15] | Нет | Нет | Да[IV 13] | Да[IV 13] | Да[IV 14] | Неизвестно | Нет |
ODS-2 | Да | Да[IV 16] | Нет | Да | Нет | Нет | Да | Да | Нет |
ODS-5 | Да | Да[IV 16] | Нет | Да | Нет | Да | Да | Да | Неизвестно |
UDF | Да | Да | Да[IV 8] | Да[IV 8] | Да | Да | Нет | Нет | Да |
VxFS | Да | Да | Да | Нет | Да | Да | Да | Нет | Неизвестно |
Fossil | Нет | Нет | Нет | Нет | Да | Да | Да | Да | Нет |
ZFS | Да | Да | Да[IV 17] | Нет[IV 17] | Да | Да | Нет | Да | Неизвестно |
exFAT | Нет | Нет | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно |
BtrFS | Да | Да | Да | Да | Да | Да | Неизвестно | Частично[VI 1] | Неизвестно |
APFS | Да | Да | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Да | Неизвестно |
Жёсткие ссылки | Символьные ссылки | Журналирование блоков или транзакций | Журналирование только мета-данных | Чувствительно к регистру | Сохранение регистра символов | Лог изменений файлов | Снимки | XIP |
Примечания
- ↑ System V Release 4, и некоторые другие Unix-системы, модифицировали свои версии файловой системы Version 7 Unix для поддержки символических ссылок, хотя оригинальная версия такой возможностью не обладала.
- ↑ NTFS 3.0 (Windows NT 5.0) и выше может создавать связывания, которые позволяют монтировать отдельные каталоги (но не файлы!) в любое место дерева каталогов локально управляемого диска. Связывания реализованы через так называемые reparse points, которые позволяют расширить обычный процесс разрешения файловых имён гибким способом. В более поздней версии добавлены и собственно символьные ссылки, но их использование затруднено: для ссылки нужно указывать является ли цель каталогом или обычным файлом (при несовпадении указанного типа в ссылке и типа цели ссылка не сработает), привилегия создания ссылок по умолчанию не предоставлена обычным пользователям начиная с Windows Vista (то есть без вмешательства администратора обычные пользователи не могут создавать ссылки), ссылки на UNC-пути срабатывают не всегда, ссылки видны в Windows XP, могут быть созданы в ней (с помощью FAR Manager, например), но не работают.
- ↑ Журналирование собственно данных, в отличие от метаданных (что было всегда), появилось в Windows Vista и называется TxF. Эта возможность, помимо повышения устойчивости к сбоям, поддерживает откаты транзакций на файлах, а также объединение операций с файлами, реестрами и базами данных в одну ACID транзакцию.
- ↑ http://support.microsoft.com/kb/100625 Архивная копия от 22 августа 2009 на Wayback Machine — В рамках POSIX-приложений да, в рамках Win32-приложений нет.
- ↑ Снимокы поддерживаются не самой NTFS, которая сама по себе не имеет ровно никаких средств их поддержки в своих метаданных, а нижележащим драйвером VolSnap.sys, и потому не зависят от типа FS и поддерживаются для FAT. Тем не менее, системные данные мгновенного снимка могут храниться только на NTFS-томе, потому при снимке FAT-тома его системные данные хранятся на другом томе.
- ↑ Журналирование только метаданных было представлено в драйвере HFS+ Mac OS 10.2.2; журналирование по умолчанию было включено в Mac OS 10.3 и более поздних.
- ↑ Отключено по умолчанию.
- ↑ 1 2 3 UDF и LFS (log-structured file system) являются файловыми системами с журнальным структурированием и ведут себя как будто вся файловая система является журналом. Неверно: UDF может использоваться в таком режиме, но это не обязательно
- ↑ 1 2 По умолчанию отключено.
- ↑ Полное журналирование блоков в ReiserFS было добавлено в Linux 2.6.8.
- ↑ В ОС IRIX возможно необязательное игнорирование регистра букв имён файлов в XFS.
- ↑ Некоторые драйверы устанавливаемых файловых систем и операционные системы могут не поддерживать регистрозависимость JFS. В частности, OS/2 вообще не поддерживает, а в Linux существует опция монтирования, отключающая регистрозависимость.
- ↑ 1 2 3 4 Чувствительность к регистру/Сохранение зависит от клиента. Windows, DOS, и клиенты OS/2 не замечают/сохраняют различия между разным регистром, тогда как клиенты, обращающиеся через NFS или AFP могут.
- ↑ 1 2 Логи и время изменения файла и другие метаданные файловой системы — часть обширного набора программ поддержки аудитинга встроенного в NDS/eDirectory — NSure Audit. (Filesystem Events tracked by NSure Архивная копия от 1 апреля 2016 на Wayback Machine)
- ↑ 1 2 Доступно только в пространстве имён «NFS».
- ↑ 1 2 Это передаётся как «алиасы».
- ↑ 1 2 ZFS — транзакционная файловая система, использующая семантику copy-on-write, гарантирующую всегда корректное состояние данных на диске без использования традиционного журнала. Однако она также использует специальный журнал для увеличения производительности при запросах на синхронную запись.
Возможности изменения размера
[править | править код]ФС | ОС | Увеличение в смонтированном состоянии | Увеличение в отмонтированном состоянии | Уменьшение в смонтированном состоянии | Уменьшение в отмонтированном состоянии |
---|---|---|---|---|---|
Btrfs[VI 2] | Linux | Да | Нет | Да | Нет |
ext2[VI 3] | Linux | Нет | Да | Нет | Да |
ext3[VI 3] | Linux | Да | Да | Нет | Да |
ext4[VI 3] | Linux | Да | Да | Нет | Да |
FAT12/16/32 | разные | Нет | Нет | Нет | Нет |
F2FS[VI 4] | Linux | Нет | Да | Нет | Нет |
HFS+ | Linux | Нет | Нет | Нет | Нет |
HFS+ | macOS | Да | Нет | Да | Нет |
JFS[VI 5] | Linux | Нет | Да | Нет | Нет |
NILFS[VI 6] | Linux | Да | Нет | Да | Нет |
NTFS[VI 7] | Linux | Нет | Да | Нет | Да |
NTFS | Windows | Да | Да | Да | Да |
APFS | macOS | Неизвестно | Неизвестно | Неизвестно | Неизвестно |
ZFS | разные | Да | Да | Нет | Нет |
Reiser4[VI 8] | Linux | Да | Да | Нет | Да |
ReiserFS[VI 9] | Linux | Да | Да | Нет | Да |
XFS[VI 10] | Linux | Да | Нет | Нет | Нет |
ФС | ОС | Увеличение в смонтированном состоянии | Увеличение в отмонтированном состоянии | Уменьшение в смонтированном состоянии | Уменьшение в отмонтированном состоянии |
Примечания
- ↑ В терминологии BtrFS снимки создаются как под-тома. Если при этом под-том находится в режиме только для чтения, то такой под-том функционально подобен классическому снимку.
- ↑ UseCases - btrfs Wiki . Дата обращения: 11 октября 2016. Архивировано 5 февраля 2018 года.
- ↑ 1 2 3 Linux 2.6 - man page for resize2fs (linux section 8) - Unix & Linux Commands . Дата обращения: 11 октября 2016. Архивировано 25 марта 2023 года.
- ↑ kernel/git/jaegeuk/f2fs-tools.git - Userland tools for the f2fs filesystem . Дата обращения: 11 октября 2016. Архивировано 4 августа 2015 года.
- ↑ Источник . Дата обращения: 11 октября 2016. Архивировано 16 сентября 2015 года.
- ↑ Архивированная копия . Дата обращения: 11 октября 2016. Архивировано из оригинала 21 декабря 2016 года.
- ↑ ntfsresize(8) - Linux man page . Дата обращения: 11 октября 2016. Архивировано 6 января 2018 года.
- ↑ Resize reiserfs - Reiser4 FS Wiki . Дата обращения: 11 октября 2016. Архивировано 23 апреля 2016 года.
- ↑ Suse Doc: Storage Administration Guide - Resizing File Systems - December 16 2013 . Дата обращения: 11 октября 2016. Архивировано 23 апреля 2016 года.
- ↑ 6.5 Growing an XFS File System . Дата обращения: 11 октября 2016. Архивировано 24 августа 2017 года.
Политики размещения и компоновки
[править | править код]Частичная (Хвостовая) упаковка | Прозрачная компрессия | Дедупликация | Шифрование | Блочное перераспределение | Распределение на лету | Экстент | Переменный размер блоков[V 1] | |
---|---|---|---|---|---|---|---|---|
V6FS | Нет | Нет | Неизвестно | Неизвестно | Нет | Нет | Нет | Нет |
V7FS | Нет | Нет | Неизвестно | Неизвестно | Нет | Нет | Нет | Нет |
FAT12 | Нет | Нет[V 2] | Нет | Неизвестно | Нет | Нет | Нет | Нет |
FAT16 | Нет | Нет[V 2] | Нет | Неизвестно | Нет | Нет | Нет | Нет |
FAT32 | Нет | Нет[V 2] | Нет | Неизвестно | Нет | Нет | Нет | Нет |
HPFS | Нет | Нет | Неизвестно | Неизвестно | Нет | Нет | Да | Нет |
NTFS | Нет | Да | Частично | Да (EFS начиная с NTFS 3.0) | Нет | Нет | Да | Нет |
HFS+ | Нет | Нет | Неизвестно | Неизвестно | Неизвестно | Нет | Да | Нет |
FFS | Нет | Нет | Неизвестно | Неизвестно | 8:1[V 3] | Нет | Нет | Нет |
UFS1 | Нет | Нет | Неизвестно | Неизвестно | 8:1[V 3] | Нет | Нет | Нет |
UFS2 | Нет | Нет | Неизвестно | Неизвестно | 8:1[V 3] | Нет | Нет | Да |
LFS | Нет | Нет | Неизвестно | Неизвестно | 8:1[V 3] | Нет | Нет | Нет |
ext2 | Нет | Нет[V 4] | Нет | Неизвестно | Нет[V 5] | Нет | Нет | Нет |
ext3 | Нет | Нет | Нет | Неизвестно | Нет[V 5] | Нет | Нет | Нет |
ext4 | Неизвестно | Нет | Неизвестно | Да | Неизвестно | Неизвестно | Да | Нет |
ReiserFS | Да | Нет | Неизвестно | Неизвестно | Нет | Нет | Нет | Нет |
Reiser4 | Да | Да[V 6] | Неизвестно | Да (прозрачное, плагин)[V 6] | Нет | Да | Да[V 7] | Нет |
XFS | Нет | Нет | Неизвестно | Неизвестно | Нет | Да | Да | Нет |
JFS | Нет | Неизвестно | Неизвестно | Неизвестно | Да | Нет | Да | Нет |
Be File System | Нет | Нет | Неизвестно | Неизвестно | Неизвестно | Нет | Нет | Неизвестно |
NSS | Нет | Да | Неизвестно | Да (зашифрованные тома) | Нет | Нет | Да | Нет |
NWFS | Нет | Да | Неизвестно | Неизвестно | Да[V 8] | Нет | Нет | Нет |
ODS-5 | Нет | Нет | Неизвестно | Неизвестно | Нет | Нет | Да | Нет |
VxFS | Нет | Нет | Неизвестно | Неизвестно | Неизвестно | Нет | Да | Нет |
UDF | Нет | Нет | Неизвестно | Неизвестно | Нет | Неизвестно[V 9] | Да | Нет |
Fossil | Нет | Да | Неизвестно | Неизвестно | Нет | Нет | Нет | Нет |
ZFS | Нет | Да | Да | Да (c версии ZFS Pool Version 30) | Неизвестно | Неизвестно | Нет | Да |
exFAT | Неизвестно | Неизвестно | Нет | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно |
APFS | Неизвестно | Неизвестно | Неизвестно | Да | Неизвестно | Неизвестно | Неизвестно | Неизвестно |
BtrFS | Да | Да[V 10] | Частично[V 11] | Нет | Неизвестно | Да | Неизвестно | Неизвестно |
Частичная (Хвостовая) упаковка | Прозрачная компрессия | Дедупликация | Шифрование | Перераспределение блоков | Распределение на лету | Экстент | Переменный размер блоков[V 1] |
Примечания
- ↑ 1 2 Переменный размер блока относится к системам, поддерживающим переменную длину блока пофайлово. (Аналогично extent, но это несколько иная реализация.) В настоящий момент UFS2 поддерживает такой вариант в режиме только для чтения.
- ↑ 1 2 3 DoubleSpace в DOS 6, и DriveSpace в Windows 95 и Windows 98 предоставлял схемы сжатия данных для FAT; в данное время не поддерживается Microsoft.
- ↑ 1 2 3 4 Так же поддерживаются и другие варианты соотношений блок: фрагмент; Большинство реализаций рекомендуют соотношение 8:1.
- ↑ e2compr, набор патчей реализующих поблочное сжатие для ext2, доступен с 1997, но его никогда не включали в основное ядро Linux.
- ↑ 1 2 В ext2 и ext3 предполагалась поддержка фрагментов, однако она так и не была реализована.
- ↑ 1 2 Reiser4 включает сжатие данных, но это не представлено в VFS API. Reiser4 поддерживает прозрачное сжатие и шифрование с плагином cryptcompress который идёт в комплекте с версией 4.1.
- ↑ В «расширенном» режиме.
- ↑ Подвыделение блоков делит устройство хранения на блоки от 4 KiB до 64 KiB (обычно 8 KiB), и если блок не используется целиком, остаток снова делится на 512-байтные подблоки для других файлов, обычно небольшого размера.
- ↑ Присутствует в зависимости от реализации UDF.
- ↑ Поддерживается для ФС и пофайлово,но требует настройки перед созданием файлов.
- ↑ По запросу. Планируется добавить прозрачную.
Литература
[править | править код]- Александр Толстой. Сравнение: Файловые системы // Linux Format. — 2015. — Декабрь (№ 12 (203)). — С. 22—27.
Ссылки
[править | править код]Русскоязычные сайты
[править | править код]- Файловые системы @ dmoz.org Архивная копия от 11 октября 2018 на Wayback Machine
- В чем разница между файловыми системами FAT32, NTFS и exFAT
- Александр Толстой. Сравнение: Файловые системы // Linux Format. — 2015. — Декабрь (№ 12 (203)). — С. 22—27.
Зарубежные сайты
[править | править код]- Disc and volume size limits (англ.)
- Attribute — $EA_INFORMATION (0xD0) (англ.)
- Attribute — $EA (0xE0) (англ.)
- Attribute — $STANDARD_INFORMATION (0x10) (англ.)
- Local Filesystems for Windows (англ.)
- Understanding File-Size Limits on NTFS and FAT (англ.)
- Benchmarking Filesystems Part II using kernel 2.6, by Justin Piszcz, Linux Gazette 122, January 2006 (англ.)
- Linux File System Benchmarks v2.6 kernel with a stress on CPU usage (англ.)
- Interview With the People Behind JFS, ReiserFS & XFS (англ.)
- Overview of some filesystems (outdated) (англ.)
- Linux large file support (outdated) (англ.)
- Sparse files support (outdated) (англ.)
- Benchmarking Filesystems (outdated) by Justin Piszcz, Linux Gazette 102, May 2004 (англ.)
- Journaled Filesystem Benchmarks (outdated): A comparison of ReiserFS, XFS, JFS, ext3 & ext2 (англ.)
- Journal File System Performance (outdated): ReiserFS, JFS, and Ext3FS show their merits on a fast RAID appliance (англ.)
- IOzone Filesystem Benchmark (англ.) — Средство тестирования производительности ФС.