logo
Unix-подобные системы

Особенности

· 64-битная файловая система

· Изменение размера «на лету» (только увеличение)

· Дефрагментация «на лету»

· API ввода/вывода реального времени (для приложений жёсткого или мягкого реального времени, например, для работы с потоковым видео)

· Запись на диск производится только при нехватке памяти. Это позволяет уменьшить фрагментацию, а также снизить активность запросов к диску.

· Интерфейс (DMAPI) для поддержки иерархического управления носителями (HSM)

· Инструменты резервного копирования и восстановления (xfsdump and xfsrestore)

· Реальный размер файла на файловой системе, в отличие от кратного размеру блока.

Unix File System (UFS) -- файловая система, созданная для операционных систем семейства BSD и используемая в переработанном и дополненном виде на данный момент как основная в операционных системах-потомках (FreeBSD, OpenBSD, NetBSD).

Физически UFS состоит из следующих частей:

· несколько блоков в начале раздела отводится под загрузочную область (которая должна инициализироваться отдельно от файловой системы)

· суперблок, включающий магическое число, инициализирующее файловую систему, и некоторые другие важные числа, описывающие геометрию и настройку некоторых параметров файловой системы

· описание групп цилиндров. Каждая группа включает следующие компоненты:

o Резервную копию суперблока

o Заголовок группы цилиндров, статистические данные и т. д., информацию аналогичную содержащейся в суперблоке, но для конкретной группы

o Число индексных дескрипторов, каждый из которых содержит атрибуты файлов

Индексные дескрипторы нумеруются последовательно. Несколько первых индексных дескрипторов сохранены по историческим причинам, далее следуют индексные дескрипторы корневого каталога. Каталог файлов содержат только список файлов в директории и индексный дескриптор, связанный с каждым файлом. Пользователи некоторых коммерческих Unix систем, таких как Solaris, HP-UX и Tru64 UNIX, приняли UFS. Большинство из них перевели системы на UFS, добавили проприетарные дополнения, которые позволяли не распознать UFS пользователям других версий UNIX. Удивительно, но многие из них продолжают использовать оригинальный размер блока данных и ширину блока, как и в оригинальной UFS, так что некоторая степень остается совместимой на разных платформах. Совместимость между реализациями неполная, в лучшем случае, и должна быть исследована перед использованием на нескольких платформах.

Linux поддерживает UFS на уровне чтения, но не имеет полной поддержки для записи UFS. Родной Linux ext2 создан по подобию UFS. (В самом деле, в некоторых 4.4BSD системах, UFS слой может использовать ext2 слой как контейнер, так же, как он может использовать FFS и LFS). Игровая консоль PlayStation 3 использует UFS2 на своём HDD. В PlayStation 2 используется UFS.

ZFS (Zettabyte File System) -- файловая система, изначально созданная в Sun Microsystems для операционной системы Solaris. Эта файловая система поддерживает большие объёмы данных, объединяет концепции файловой системы и менеджера логических дисков (томов) и физических носителей, инновационную структуру данных на дисках, легковесные файловые системы (lightweight filesystems), а также простое управление томами хранения данных. ZFS является проектом с открытым исходным кодом и лицензируется под CDDL (Common Development and Distribution License).

Основное преимущество ZFS -- это её полный контроль над физическими и логическими носителями. Зная, как именно расположены данные на дисках, ZFS способна обеспечить высокую скорость доступа к ним, контроль их целостности, а также минимизацию фрагментации данных. Это позволяет динамически выделять или освобождать дисковое пространство на одном или более носителях для логической файловой системы. Кроме того, имеет место переменный размер блока, что лучшим образом влияет на производительность, параллельность выполнения операций чтения-записи, а также 64-разрядный механизм использования контрольных сумм, сводящий к минимуму вероятность разрушения данных.

ZFS это 128-битная файловая система, что позволяет ей хранить в 18.4 ? 1018 раз больше данных, чем нынешние 64-битные системы. ZFS спроектирована так, чтобы её ограничения были настолько малы, что они никогда не встретятся на практике. Как заявил руководитель проекта Бонвик, «заполнение 128-битных файловых систем превысит квантовые возможности хранения данных на Земле. Вы не сможете заполнить и хранить 128-битный объём, не вскипятив при этом океан.» Пример того, насколько велики эти цифры: если бы 1000 файлов создавались каждую секунду, то потребовалось бы около 9000 лет для достижения предела количества файлов.

Некоторые теоретические пределы в ZFS:

· 248 -- Количество снимков (snapshot) в любой файловой системе (2 ? 1014)

· 248 -- Количество файлов в любой индивидуальной файловой системе (2 ? 1014)

· 16 эксабайт (264 byte) -- Максимальный размер файловой системы

· 16 эксабайт (264 byte) -- Максимальный размер одного файла

· 16 эксабайт (264 byte) -- Максимальный размер любого атрибута

· 3 ? 1023 петабайт -- Максимальный размер любого пула хранения (zpool)

· 256 -- Количество атрибутов файла (фактически ограничивается 2 48 на количество файлов в файловой системе ZFS)

· 256 -- Количество файлов в директории (реально ограничен 2 48 на количество файлов в файловой системе ZFS)

· 264 -- Количество устройств в любом zpool

· 264 -- Количество zpoolов в системе

· 264 -- Число файловых систем в zpool