Сравнение файловых систем
Материал из Википедии — свободной энциклопедии
| Пожалуйста, улучшите и дополните этот раздел.
Замечания о том, что нужно улучшить, могут быть на странице обсуждения статьи.
|
Данная таблица сравнивает основные и технические особенности для списка файловых систем. Пожалуйста, смотрите отдельные статьи о каждой файловой системе для получения дополнительной информации.
Содержание |
Основная информация [править]
- Примечания
- ↑ 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 году.
Ограничения [править]
| Максимальная длина имён файлов | Допустимые символы в названиях[1] | Максимальная длина пути файла | Максимальный размер файла | Максимальный размер тома[2] | |
|---|---|---|---|---|---|
| RT-11 | 6+3 символа в коде RADIX50 | A-Z, 0-9, $ . % <пробел> | 14 символов | 33,554,432 байт (65536 * 512) | 33,554,432 байт |
| V6FS | 14 байт[3] | Любые символы, кроме NUL и /[4] | Нет установленных ограничений[5] | 8MiB[6] | 2TiB |
| V7FS | 14 байт[3] | Любые символы, кроме NUL и /[4] | Нет установленных ограничений[5] | 1GiB[7] | 2TiB |
| FAT12 | 8+3 символов (255 байт для VFAT)[3] | Любые символы ANSI (Unicode для VFAT), кроме NUL[3][4] | Нет установленных ограничений[5] | 32MiB | 1MiB — 32MiB |
| FAT16 | 8+3 символов (255 байт для VFAT)[3] | Любые символы ANSI (Unicode для VFAT), кроме NUL,[3][4] | Нет установленных ограничений[5] | 2GiB | 16MiB — 2GiB |
| MFS | 30 байт[3] | Любые символы, кроме NUL и :[4] | Нет установленных ограничений[5] | ? | ? |
| HFS | 30 байт[3] | Любые символы, кроме NUL и :[4] | Нет установленных ограничений[5] | ? | ? |
| FAT32 | 255 байт[3] | Любые символы Юникода, кроме NUL[3][4] | Нет установленных ограничений[5] | 4GiB | 512MiB — 8TiB[8] |
| HPFS | 255 байт | Любые символы, кроме NUL[4] | Нет установленных ограничений[5] | 4GiB | 2TiB[9] |
| NTFS | 255 символов | Любые символы Юникода, кроме NUL, " / \ * ? < > | : | 32 767 символов Юникода; каждая компонента пути (каталог или имя файла) — до 255 символов[5] | 16 EiB[10] | 16 EiB[10] |
| HFS+ | 255 символов[11] | Любые символы Юникода, кроме NUL[4][12] | ? | 8EiB | 8EiB |
| FFS | 255 байт | Любые символы, кроме NUL[4] | Нет установленных ограничений[5] | 4GiB | 256TiB |
| Amiga FFS | 30 байт | Любые символы, кроме NUL, / и : | Нет установленных ограничений[5] | 2GiB | 4GiB |
| SFS | 107 байт | Любые символы, кроме NUL, / и : | Нет установленных ограничений[5] | 4GiB | 128GiB |
| PFS3 | 31-106 байт[13] | Любые символы, кроме NUL, / и : | Нет установленных ограничений[5] | 108GiB | 2TiB |
| UFS1 | 255 байт | Любые символы, кроме NUL[4] | Нет установленных ограничений[5] | 4GiB — 256TiB | 256TiB |
| UFS2 | 255 байт | Любые символы, кроме NUL[4] | Нет установленных ограничений[5] | 512GiB — 32PiB | 1YiB |
| ext2 | 255 байт | Любые символы, кроме NUL, /[4] | Нет установленных ограничений[5] | 16GiB — 2TiB[2] | 2TiB — 32TiB |
| ext3 | 255 байт | Любые символы, кроме NUL, /[4] | Нет установленных ограничений[5] | 16GiB — 2TiB[2] | 2TiB — 32TiB |
| ext4 | 255 байт | Любые символы, кроме NUL, /[4] | Нет установленных ограничений[5] | 16GiB — 16TiB[2] | 1 EiB |
| ReiserFS | 4032 байт/255 символов | Любые символы, кроме NUL, /[4] | Нет установленных ограничений[5] | 8TiB[14] | 16TiB |
| Reiser4 | ? | ? | Нет установленных ограничений[5] | 8TiB on x86 | ? |
| XFS | 255 байт | Любые символы, кроме NUL[4] | Нет установленных ограничений[5] | 9EiB[15] | 9EiB[15] |
| JFS | 255 байт | Любые символы, кроме NUL[4] | Нет установленных ограничений[5] | 8EiB | 512TiB — 4PiB |
| JFS2 | 255 байт | Любые символы Юникода, кроме NUL | Нет установленных ограничений[5] | 4PiB | 32PiB |
| Be File System | 255 байт | Любые символы, кроме NUL[4] | Нет установленных ограничений[5] | 12288 байт — 260GiB[16] | 256PiB — 2EiB |
| AdvFS | 255 символов | Любые символы, кроме NUL[4] | Нет установленных ограничений[5] | 16TiB | 16TiB |
| NSS | 256 символов | Depends on namespace used[17] | Ограничивается только возможностями клиента | 8TiB | 8TiB |
| NWFS | 80 байт[18] | Depends on namespace used[17] | Нет установленных ограничений[5] | 4GiB | 1TiB |
| ODS-5 | 236 байт[19] | ? | 4096 байт[20] | 1TiB | 1TiB |
| VxFS | 255 байт | Любые символы, кроме NUL[4] | Нет установленных ограничений[5] | 16EiB | ? |
| UDF | 255 байт | Любые символы Юникода, кроме NUL | 1023 байт[21] | 16EiB | ? |
| ZFS | 255 байт | Любые символы Юникода, кроме NUL | Нет установленных ограничений[5] | 16EiB | 16EiB |
| Btrfs | 255 байт | Любые символы Юникода, кроме NUL и / | ? | 16EiB | 16EiB |
| exFAT | Неизвестно | Любые символы Юникода, кроме NUL | Нет установленных ограничений | 16EiB | 64 ZiB[22] в теории 512 TiB |
| Максимальная длина имён файлов | Допустимые символы в названиях[1] | Максимальная длина пути файла | Максимальный размер файла | Максимальный размер тома[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 В этих файловых системах элементы каталога с именами «.» и «..» имеют особенное значение. Элементы с этими именами не запрещены, и на самом деле существуют как обычные элементы каталога в структурах данных на диске. Однако, эти элементы должны обязательно присутствовать в каталоге и иметь вышеуказанные значения. Эти элементы автоматически создаются в каждом создаваемом каталоге и каталоги без них считаются испорченными
- ↑ 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.
- ↑ Действительный максимум был 8 847 360 байт, с 7 singly-indirect блоками и 1 doubly-indirect блоком; Вариант PWB/UNIX 1.0 использовал 8 singly-indirect блоков, достигая максимума в 524 288 байт или в половину MiB.
- ↑ Действительный максимум был 1 082 201 088 байт, с 10 direct блоками, 1 singly-indirect блоком, 1 doubly-indirect блоком, и 1 triply-indirect блоком. Версии 4.0BSD и 4.1BSD, а также System V использовали 1024-байтные блоки вместо 512-байтных, с максимумом в 4 311 812 608 байт или примерно 4 GiB.
- ↑ Большой раздел FAT32, будучи созданным, может работать нормально, но некоторые программы не позволяют создавать раздел FAT32 более 32GiB. К ним относится и программа установки Windows XP. Используйте команду FDISK с диска восстановления Windows ME (Emergency Boot Disk), для обхода этого ограничения.
- ↑ Это — предел структур «на-диске». Устанавливаемый драйвер Файловой системы HPFS для OS/2 использует высшие 5 битов номера сектора тома для его собственного использования, ограничивая размер тома до 64 ГБ.
- ↑ 1 2 Это ограничение дисковых структур. драйвер NTFS для Windows NT ограничивает размер поддерживаемого тома до 256 TiB, а размер файла — до 16 TiB соответственно.
- ↑ HFS, устаревшая версия HFS+, поддерживает только 31‐символьные имена файлов; более старые приложения обычно не работают с именами такой длины.
- ↑ HFS+ поддерживает использование escape-последовательностей, чтобы работать с Unicode. Пользователи старого программного обеспечения могут увидеть escape-последовательности вместо символов.
- ↑ Однократно задаётся специальной программой setfnsize.
- ↑ ReiserFS теоретически может иметь размер файлов в 1 ЭиБ, но «предел в 8 ТиБ появился на данный момент в результате применения 32‐битной архитектуры распределения страничного кэша»[1]
- ↑ 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 PiB
Мета-данные [править]
| Запись владельца файла | Права файлов POSIX | Временные метки создания файла | Временные метки доступа/чтения | Временные метки изменений метаданных | Временные метки последнего архивирования | ACL | Метки безопасности/MAC | Расширенные атрибуты/Fork (filesystem)|Альтернативные потоки данных/вызовы | Контрольные суммы/ECC | |
|---|---|---|---|---|---|---|---|---|---|---|
| RT-11 | Нет | Нет | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет |
| V6FS | Да | Да | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет |
| V7FS | Да | Да | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет |
| FAT12 | Нет | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет[1] | Нет |
| FAT16 | Нет | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет[1] | Нет |
| FAT32 | Нет | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет[1] | Нет |
| HPFS | Да[2] | Нет | Да | Да | Нет | Нет | Нет | ? | Да | Нет |
| NTFS | Да | Нет[3] | Да | Да | Да | Нет | Да | ? | Да | Нет |
| HFS+ | Да | Да | Да | Да | Да | ? | Да | ? | Да | Нет |
| FFS | Да | Да | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет |
| Amiga FFS | Нет | Нет | Да | Нет | Да | Нет | Нет | Нет | Да | Нет |
| SFS | Нет | Нет | Да | Нет | Да | Нет | Нет | Нет | Да | Нет |
| PFS3 | Нет | Нет | Да | Нет | Да | Нет | Нет | Нет | Да | Нет |
| UFS1 | Да | Да | Нет | Да | Да | Нет | Да[4] | Да[4] | Нет[5] | Нет |
| UFS2 | Да | Да | Да | Да | Да | Нет | Да[4] | Да[4] | Да | Нет |
| LFS | Да | Да | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет |
| ext2 | Да | Да | Нет | Да | Да | Нет | Да[6] | Да[6] | Да | Нет |
| ext3 | Да | Да | Нет | Да | Да | Нет | Да[6] | Да[6] | Да | Нет |
| ext4 | Да | Да | Да | Да | Да | Нет | Да[6] | Да[6] | Да | Да |
| ReiserFS | Да | Да | Нет | Да | Да | Нет | Да[6] | Да[6] | Да | Нет |
| Reiser4 | Да | Да | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет |
| XFS | Да | Да | Нет | Да | Да | Нет | Да | Да[6] | Да | Нет |
| JFS | Да | Да | Да | Да | Да | Нет | Да | Да | Да | Нет |
| Be File System | Да | Да | Да | Нет | Нет | Нет | Нет | Нет | Да | Нет |
| AdvFS | Да | Да | Нет | Да | Да | Нет | Да | Нет | Да | Нет |
| NSS | Да | Да | Да[7] | Да[7] | Да | Да[7] | Да | ? | Да[8][9] | Нет |
| NWFS | Да | ? | Да[7] | Да[7] | Да | Да[7] | Да | ? | Да[8][9] | Нет |
| ODS-5 | Да | Да | Да | ? | ? | Да | Да | ? | Да[10] | Нет |
| VxFS | Да | Да | Да | Да | Да | Нет | Да | ? | Да[6] | Нет |
| UDF | Да | Да | Да | Да | Да | Нет | Да | Нет | Да | Нет |
| Fossil | Да | Да[11] | Нет | Да | Да | Нет | Нет | Нет | Нет | Нет |
| ZFS | Да | Да | Да | Да | Да | Да | Да | Да | Да[12] | Да |
| exFAT | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно |
| Запись владельца файла | Права файлов 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 разрешает неограниченные количества для обоих.
- ↑ 1 2 Некоторые метаданные файлов и каталогов сохранены на сервере Netware независимо от того, установлены ли Сервисы директорий или нет, подобно дате/времени создания, размеру файла, состояния чистки, и так далее; и некоторые метаданные файлов и каталогов сохранённые в NDS/eDirectory, подобно разрешению доступа, монопольному использованию, и т. д.
- ↑ Атрибуты сервисов управлениев записями (RMS) включают тип и размер записи среди многих других.
- ↑ Атрибуты доступа файлов в 9P являются вариантом традиционных атрибутов доступа Unix с незначительными отличиями, например suid bit заменён новым атрибутом — эксклюзивный доступ (англ. exclusive access).
- ↑ «Расширенные атрибуты» Solaris’а на самом деле развитая версия альтернативных потоков данных, как в Solaris UFS, так и в ZFS.
Особенности [править]
| Жёсткие ссылки | Символьные ссылки | Журналирование блоков или | Журналирование только мета-данных | Чувствительно к регистру | Сохранение регистра символов | Лог изменений файлов | Снапшоты | XIP | |
|---|---|---|---|---|---|---|---|---|---|
| RT-11 | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет |
| V6FS | Да | Нет | Нет | Нет | Да | Да | Нет | Нет | Нет |
| V7FS | Да | Нет[1] | Нет | Нет | Да | Да | Нет | Нет | Нет |
| FAT12 | Нет | Нет | Нет | Нет | Нет | Нет | Нет | Нет[2] | Нет |
| FAT16 | Нет | Нет | Нет | Нет | Нет | Частично | Нет | Нет[2] | Нет |
| FAT32 | Нет | Нет | Нет | Нет | Нет | Частично | Нет | Нет[2] | Нет |
| HPFS | Нет | Нет | Нет | Нет | Нет | Да | Нет | Неизвестно | Нет |
| NTFS | Да | Да[3] | Да[4] | Да | Да[5] | Да | Да | Да[2] | Неизвестно |
| HFS+ | Частично | Да | Нет | Да[6] | Да[7] | Да | Нет | Неизвестно | Нет |
| FFS | Да | Да | Нет | Нет | Да | Да | Нет | Нет | Нет |
| UFS1 | Да | Да | Нет | Нет | Да | Да | Нет | Нет | Нет |
| UFS2 | Да | Да | Нет | Нет | Да | Да | Нет | Да | Неизвестно |
| LFS | Да | Да | Да[8] | Нет | Да | Да | Нет | Да | Нет |
| ext2 | Да | Да | Нет | Нет | Да | Да | Нет | Нет | Неизвестно |
| ext3 | Да | Да | Да[9] | Да | Да | Да | Нет | Нет | Неизвестно |
| ext4 | Да | Да | Да[9] | Да | Да | Да | Нет | Нет | Неизвестно |
| ReiserFS | Да | Да | Да[10] | Да | Да | Да | Нет | Нет | Неизвестно |
| Reiser4 | Да | Да | Да | Нет | Да | Да | Нет | Неизвестно | Неизвестно |
| XFS | Да | Да | Нет | Да | Да[11] | Да | Да | Да | Неизвестно |
| JFS | Да | Да | Нет | Да | Да[12] | Да | Нет | Неизвестно | Неизвестно |
| Be File System | Да | Да | Нет | Да | Да | Да | Неизвестно | Неизвестно | Нет |
| NSS | Да | Да | Неизвестно | Да | Да[13] | Да[13] | Да[14] | Да | Нет |
| NWFS | Да[15] | Да[15] | Нет | Нет | Да[13] | Да[13] | Да[14] | Неизвестно | Нет |
| ODS-2 | Да | Да[16] | Нет | Да | Нет | Нет | Да | Да | Нет |
| ODS-5 | Да | Да[16] | Нет | Да | Нет | Да | Да | Да | Неизвестно |
| UDF | Да | Да | Да[8] | Да[8] | Да | Да | Нет | Нет | Да |
| VxFS | Да | Да | Да | Нет | Да | Да | Да | Нет | Неизвестно |
| Fossil | Нет | Нет | Нет | Нет | Да | Да | Да | Да | Нет |
| ZFS | Да | Да | Да[17] | Нет[17] | Да | Да | Нет | Да | Неизвестно |
| exFAT | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно |
| Жёсткие ссылки | Символьные ссылки | Журналирование блоков или | Журналирование только мета-данных | Чувствительно к регистру | Сохранение регистра символов | Лог изменеий файлов | Снапшоты | XIP |
- Примечания
- ↑ System V Release 4, и некоторые другие Unix-системы, модифицировали свои версии файловой системы Version 7 Unix для поддержки символических ссылок, хотя оригинальная версия такой возможностью не обладала.
- ↑ 1 2 3 4 Снапшоты поддерживаются не самой NTFS, которая сама по себе не имеет ровно никаких средств их поддержки в своих метаданных, а нижележащим драйвером VolSnap.sys, и потому не зависят от типа FS и поддерживаются для FAT. Тем не менее, системные данные снапшота могут храниться только на NTFS томе, потому при снапшоте FAT тома его системные данные хранятся на другом томе.
- ↑ NTFS 3.0 (Windows NT 5.0) и выше может создавать связывания, которые позволяют монтировать отдельные каталоги (но не файлы!) в любое место дерева каталогов локально управляемого диска. Связывания реализованы через так называемые reparse points, которые позволяют расширить обычный процесс разрешения файловых имён гибким способом.
- ↑ Журналирование собственно данных, в отличие от метаданных (что было всегда), появилось в Windows Vista и называется TxF. Эта возможность, помимо повышения устойчивости к сбоям, поддерживает откаты транзакций на файлах, а также объединение операций с файлами, реестрами и базами данных в одну ACID транзакцию.
- ↑ Хотя NTFS различает имена файлы, отличающиеся регистром символов, драйверы стандартной файловой системы Windows по умолчанию запрещают создание файлов, имена которых отличаются лишь регистром символов, по соображениям сохранения совместимости.
- ↑ Журналирование только метаданных было представлено в драйвере 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 2 Доступно только в пространстве имён «NFS».
- ↑ 1 2 Это передаётся как «алиасы».
- ↑ 1 2 ZFS — транзакционная файловая система, использующая семантику copy-on-write, гарантирующую всегда корректное состояние данных на диске без использования традиционного журнала. Однако она также использует специальный журнал для увеличения производительности при запросах на синхронную запись.
Политики размещения и компоновки [править]
| Частичная (Хвостовая) упаковка | Прозрачная компрессия | Перераспределение блоков | Распределение на лету | Экстент | Переменный размер блоков[1] | |
|---|---|---|---|---|---|---|
| V6FS | Нет | Нет | Нет | Нет | Нет | Нет |
| V7FS | Нет | Нет | Нет | Нет | Нет | Нет |
| FAT12 | Нет | Нет[2] | Нет | Нет | Нет | Нет |
| FAT16 | Нет | Нет[2] | Нет | Нет | Нет | Нет |
| FAT32 | Нет | Нет[2] | Нет | Нет | Нет | Нет |
| HPFS | Нет | Нет | Нет | Нет | Да | Нет |
| NTFS | Нет | Да | Частично | Нет | Да | Нет |
| HFS+ | Нет | Нет | Неизвестно | Нет | Да | Нет |
| FFS | Нет | Нет | 8:1[3] | Нет | Нет | Нет |
| UFS1 | Нет | Нет | 8:1[3] | Нет | Нет | Нет |
| UFS2 | Нет | Нет | 8:1[3] | Нет | Нет | Да |
| LFS | Нет | Нет | 8:1[3] | Нет | Нет | Нет |
| ext2 | Нет | Нет[4] | Нет[5] | Нет | Нет | Нет |
| ext3 | Нет | Нет | Нет[5] | Нет | Нет | Нет |
| ext4 | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Да | Нет |
| ReiserFS | Да | Нет | Нет | Нет | Нет | Нет |
| Reiser4 | Да | Да[6] | Нет | Да | Да[7] | Нет |
| XFS | Нет | Нет | Нет | Да | Да | Нет |
| JFS | Нет | Да | Да | Нет | Да | Нет |
| Be File System | Нет | Нет | Неизвестно | Нет | Нет | Неизвестно |
| NSS | Нет | Да | Нет | Нет | Да | Нет |
| NWFS | Нет | Да | Да[8] | Нет | Нет | Нет |
| ODS-5 | Нет | Нет | Нет | Нет | Да | Нет |
| VxFS | Нет | Нет | Неизвестно | Нет | Да | Нет |
| UDF | Нет | Нет | Нет | Неизвестно[9] | Да | Нет |
| Fossil | Нет | Да | Нет | Нет | Нет | Нет |
| ZFS | Нет | Да | Неизвестно | Неизвестно | Нет | Да |
| exFAT | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно | Неизвестно |
| Частичная (Хвостовая) упаковка | Прозрачная компрессия | Перераспределение блоков | Распределение на лету | Экстент | Переменный размер блоков[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 предполагалась поддержка фрагментов, однако она так и не была реализована.
- ↑ Reiser4 включает сжатие данных, но это не представлено в VFS API. Reiser4 поддерживает прозрачное сжатие и шифрованиес плагином cryptcompress который идёт в комплекте с версией 4.1.
- ↑ В «расширенном» режиме.
- ↑ Подвыделение блоков делит устройство хранения на блоки от 4 KiB до 64 KiB (обычно 8 KiB), и если блок не используется целиком, остаток снова делится на 512-байтные подблоки для других файлов, обычно небольшого размера.
- ↑ Присутствует в зависимости от реализации UDF.
См. также [править]
Ссылки [править]
Русскоязычные сайты [править]
- Файловые системы @ dmoz.org
- Современные файловые системы
- Сравнение файловых систем (FAT16/32 и NTFS)
Зарубежные сайты [править]
- 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 (англ.) — Средство тестирования производительности ФС.