Сравнение файловых систем
Данная таблица сравнивает основные и технические особенности для списка файловых систем. Смотрите отдельные статьи о каждой файловой системе для получения дополнительной информации.
Основная информация
Файловая система | Создатель | Дата представления | Родная ОС или платформа |
---|---|---|---|
DECtape | DEC | 1964 | PDP-6 Monitor |
Level-D | DEC | 1968 | TOPS-10 |
George 2 | ICT (later ICL) | 1968 | George 2 |
RT-11 | DEC | 1970 | RT-11 |
V6FS | Bell Labs | 1972 | Version 6 Unix |
V7FS | Bell Labs | 1979 | Version 7 Unix |
Disk Operating System (GEC DOS) | GEC | 1973 | Core Operating System |
CP/M file system | Gary Kildall | 1974 | CP/M |
GEC DOS extended | GEC | 1977 | OS4000 |
FAT12 | Microsoft | 1980 | Microsoft Disk BASIC |
FAT16 | Microsoft | 1983 | MS-DOS 2.0 |
MFS | Apple | 1984 | Mac OS |
HFS | Apple | 1985 | Mac OS |
OFS[I 1] |
Metacomco для Commodore | 1985 | Amiga OS |
FAT32 | Microsoft | 1996 | Windows 95[I 2] |
HPFS | IBM & Microsoft | 1988 | OS/2 |
NTFS | Microsoft, Gary Kimura, Tom Miller | 1993 | Windows NT |
HFS+ | Apple | 1998 | Mac OS |
FFS | Kirk McKusick | 1983 | 4.2BSD |
Amiga FFS | Commodore | 1987 | Amiga OS 1.3 |
SFS | John Hendrikx | 1998 | Amiga OS |
PFS (AFS) | Michiel Pelt для Fourth Level Developments | 1995 | Amiga OS |
PFS2 | GREat Effects Development | 1998 | Amiga OS |
PFS3 | GREat Effects Development | 1999 | Amiga OS |
UFS1 | Kirk McKusick | 1994 | 4.4BSD |
UFS2 | Kirk McKusick | 2002 | FreeBSD 5.0 |
NILFS | NTT | 2005 | Linux |
LFS | Margo Seltzer | 1993 | Berkeley Sprite |
ext2 | Rémy Card | 1993 | Linux |
ext3 | Stephen Tweedie | 1999 | Linux |
ext4 | Andrew Morton | 2006 | Linux |
ReiserFS | Namesys | 2001 | Linux |
Reiser4 | Namesys | 2004 | Linux |
XFS | SGI | 1994 | IRIX |
JFS | IBM | 1990 | AIX[I 3] |
JFS2 | IBM | 1999 | OS/2 WSeB |
Be File System | Be Inc., D. Giampaolo, C. Meurillon | 1996 | BeOS |
AdvFS | DEC | 1993 | Digital Unix |
NSS | Novell | 1998 | NetWare 5 |
NWFS | Novell | 1985 | NetWare 286 |
ODS-2 | DEC | 1979 | OpenVMS |
ODS-5 | DEC | 2003 | OpenVMS 8.0 |
UDF | ISO/ECMA/OSTA | 1995 | - |
VxFS | VERITAS | 1991 | SVR4.0 |
Fossil | Bell Labs | 2003 | Plan9 4 |
ZFS | Sun Microsystems | 2004 | Solaris |
btrfs | Oracle Corporation | 2007 | Linux |
exFAT | Microsoft | 2008 | Windows Vista SP1+ |
ReFS | Microsoft | 2012 | Windows Server 2012+ |
APFS | Apple | 2016 | macOS, iOS |
Файловая система | Создатель | Дата представления | Родная ОС или платформа |
- Примечания
- 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 ГиБ | 512 МиБ — 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 | ? | 16 ЭиБ | 1 ЙиБ |
APFS | 255 символов | Любые символы, кроме NUL, : [II 4] |
Неизвестно | 8 ЭиБ | Неизвестно |
Максимальная длина имён файлов | Допустимые символы в названиях[II 1] | Максимальная длина пути файла | Максимальный размер файла | Максимальный размер тома[II 2] |
- Примечания
- Это ограничения на структуры входа на-диске каталога непосредственно. Специфические устанавливаемые драйверы файловой системы могут установить собственные ограничения на названия (имена) каталога и файла, в частности и операционные системы могут также установить собственные ограничения, поперёк всех файловых систем. MS DOS, Microsoft Windows, и OS/2 отвергают символы
\
,/
,:
,?
,*
,"
,>
,<
,|
и NUL в названии файлов и каталогов для всех файловых систем. Аналогично, версии операционной системы UNIX и Linux отвергают символы/
и NUL. - Для файловых систем с переменным размером единицы размещения (блока/кластера) приведён диапазон размеров, показывающий максимальные размеры тома для минимально и максимально возможного размера единицы размещения файловой системы (напр., 512 байт и 128 КиБ для FAT — таков диапазон размера кластера, позволяемый структурами данных на диске, хотя некоторые драйверы устанавливаемых файловых систем и операционные системы не поддерживают размеры кластеров, большие 32 КиБ).
- В 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 (маркёр стёртого файла). Короткие имена также обычно не содержат символы нижнего регистра.
- В этих файловых системах элементы каталога с именами
.
и..
имеют особенное значение. Элементы с этими именами не запрещены, и на самом деле существуют как обычные элементы каталога в структурах данных на диске. Однако, эти элементы должны обязательно присутствовать в каталоге и иметь вышеуказанные значения. Эти элементы автоматически создаются в каждом создаваемом каталоге и каталоги без них считаются испорченными - Структурам не свойственны ограничения в пределах диска. Специфические драйверы файловых систем и операционные системы могут наложить собственные ограничения. 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)
- Это ограничение дисковых структур. драйвер NTFS для Windows NT ограничивает размер поддерживаемого тома до 256 ТиБ, а размер файла — до 16 ТиБ соответственно.
- HFS, устаревшая версия HFS+, поддерживает только 31‐символьные имена файлов; более старые приложения обычно не работают с именами такой длины.
- HFS+ поддерживает использование escape-последовательностей, чтобы работать с Unicode. Пользователи старого программного обеспечения могут увидеть escape-последовательности вместо символов.
- Однократно задаётся специальной программой setfnsize.
- ReiserFS теоретически может иметь размер файлов в 1 ЭиБ, но «предел в 8 ТиБ появился на данный момент в результате применения 32‐битной архитектуры распределения страничного кэша» Архивная копия от 24 октября 2007 на Wayback Machine
- XFS имеет ограничение в Linux 2.4 на 64 ТиБ размер файлов и 2 ТиБ размер файловой системы. Этого ограничения нет в системе IRIX.
- Сильно варьирует в зависимости от размера блока и фрагментации групп размещения блоков.
- 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
Метаданные
Владелец файла | Права файлов 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 |
- Примечания
- Драйверы FAT12 и FAT16 в OS/2 и Windows NT поддерживают расширенные атрибуты (используя псевдофайл «EA DATA. SF», чтобы занять для них кластеры для них). Драйверы для других операционных систем их не поддерживают.
- F-node содержит поле идентификатора пользователя. Это не используется нигде, кроме OS/2 Warp Server.
- Списки контроля доступа NTFS могут описывать любой способ доступа в стиле POSIX, но использование POSIX-подобного интерфейса не поддерживаются без дополнения «Сервисов для UNIX» или Cygwin.
- Списки контроля доступа и Мак-метки наслоены наверху расширенных атрибутов.
- Некоторые операционные системы осуществили расширенные атрибуты как слой по UFS1 с параллельным поддерживанием файлов (например, FreeBSD 4.x).
- Некоторые устанавливаемые драйверы файловой систем и операционные системы не могут поддержать расширенные атрибуты, списки контроля доступа или защищённые метки на этих файловых системах. Ядра Linux до 2.6.x могут или пропускать поддержку их в целом или требовать патча.
- Поддерживаются только контрольные суммы метаданных и журнала, но не самих данных.
- Местное время, смещение по часовым поясам/UTC, и дата получено из параметров настройки времени ссылок/single timesync source in the NDS tree.
- 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 — В рамках POSIX-приложений да, в рамках Win32-приложений нет.
- Снапшоты поддерживаются не самой NTFS, которая сама по себе не имеет ровно никаких средств их поддержки в своих метаданных, а нижележащим драйвером VolSnap.sys, и потому не зависят от типа FS и поддерживаются для FAT. Тем не менее, системные данные снапшота могут храниться только на NTFS томе, потому при снапшоте FAT тома его системные данные хранятся на другом томе.
- Журналирование только метаданных было представлено в драйвере HFS+ Mac OS 10.2.2; журналирование по умолчанию было включено в Mac OS 10.3 и более поздних.
- Отключено по умолчанию.
- UDF и LFS (log-structured file system) являются файловыми системами с журнальным структурированием и ведут себя как будто вся файловая система является журналом. Неверно: UDF может использоваться в таком режиме, но это не обязательно
- По умолчанию отключено.
- Полное журналирование блоков в ReiserFS было добавлено в Linux 2.6.8.
- В ОС IRIX возможно необязательное игнорирование регистра букв имён файлов в XFS.
- Некоторые драйверы устанавливаемых файловых систем и операционные системы могут не поддерживать регистрозависимость JFS. В частности, OS/2 вообще не поддерживает, а в Linux существует опция монтирования, отключающая регистрозависимость.
- Чувствительность к регистру/Сохранение зависит от клиента. Windows, DOS, и клиенты OS/2 не замечают/сохраняют различия между разным регистром, тогда как клиенты, обращающиеся через NFS или AFP могут.
- Логи и время изменения файла и другие метаданные файловой системы — часть обширного набора программ поддержки аудитинга встроенного в NDS/eDirectory — NSure Audit. (Filesystem Events tracked by NSure)
- Доступно только в пространстве имён «NFS».
- Это передаётся как «алиасы».
- 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
- Linux 2.6 - man page for resize2fs (linux section 8) - Unix & Linux Commands
- kernel/git/jaegeuk/f2fs-tools.git - Userland tools for the f2fs filesystem
- https://www.kernel.org/doc/Documentation/filesystems/jfs.txt
- Архивированная копия (недоступная ссылка). Дата обращения: 11 октября 2016. Архивировано 21 декабря 2016 года.
- ntfsresize(8) - Linux man page
- Resize reiserfs - Reiser4 FS Wiki
- Suse Doc: Storage Administration Guide - Resizing File Systems - December 16 2013
- 6.5 Growing an XFS File System
Политики размещения и компоновки
Частичная (Хвостовая) упаковка | Прозрачная компрессия | Дедупликация | Шифрование | Блочное перераспределение | Распределение на лету | Экстент | Переменный размер блоков[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] |
- Примечания
- Переменный размер блока относится к системам, поддерживающим переменную длину блока пофайлово. (Аналогично extent, но это несколько иная реализация.) В настоящий момент UFS2 поддерживает такой вариант в режиме только для чтения.
- DoubleSpace в DOS 6, и DriveSpace в Windows 95 и Windows 98 предоставлял схемы сжатия данных для FAT; в данное время не поддерживается Microsoft.
- Так же поддерживаются и другие варианты соотношений блок: фрагмент; Большинство реализаций рекомендуют соотношение 8:1.
- e2compr, набор патчей реализующих поблочное сжатие для ext2, доступен с 1997, но его никогда не включали в основное ядро Linux.
- В ext2 и ext3 предполагалась поддержка фрагментов, однако она так и не была реализована.
- 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
- Сравнение файловых систем (FAT16/32 и NTFS)
- Александр Толстой. Сравнение: Файловые системы // 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 (англ.) — Средство тестирования производительности ФС.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.