Смекни!
smekni.com

Unix-подобные системы (стр. 3 из 5)

Extended File System, сокращённо ext или extfs — первая файловая система, разработанная специально для ОС на ядре Linux. Получила дальнейшие развитие в версиях ext2, ext3, ext4

ext2 (иногда ext2fs) — файловая система ядра Linux. Была разработана Реми Кардом ext. По скорости и производительности работы она может служить эталоном в тестах производительности файловых систем. Так, в тестах на скорость последовательного чтения и записи, файловая система ext2 обгоняет ext3, и уступает лишь более современной ext4 в тесте на чтение.

Главный недостаток ext2 (и одна из причин демонстрации столь высокой производительности) заключается в том, что она не является журналируемой файловой системой. Он был устранён в файловой системе ext3 — следующей версии Extended File System, полностью совместимой с ext2.

Система адресации данных — это одна из самых важных составляющих файловой системы. Именно она позволяет находить нужный файл среди множества как пустых, так и занятых блоков на диске. Файловая система ext2 использует следующую схему адресации блоков файла. Для хранения адреса файла выделено 15 полей, каждое из которых состоит из 4 байт. Если файл умещается в 12 блоков, то номера соответствующих кластеров непосредственно перечисляются в первых двенадцати полях адреса. Если размер файла превышает 12 блоков, то следующее поле содержит адрес кластера, в котором могут быть расположены номера следующих блоков файла. Таким образом, 13-е поле используется для косвенной адресации.


При максимальном размере блока в 4096 байт кластер, соответствующий 13-му полю, может содержать до 1024 номеров следующих блоков файла. Если размер файла превышает 12+1024 блоков, то используется 14-е поле, в котором находится адрес кластера, содержащего 1024 номеров кластеров, каждый из которых ссылается на 1024 блока файла. Здесь применяется уже двойная косвенная адресация. И наконец, если файл включает более 12+1024+1048576 блоков, то используется последнее 15-е поле для тройной косвенной адресации. Данная система адресации позволяет при максимальном размере блока в 4096 байт иметь файлы, размер которых превышает 2 TB.

Third Extended File System (третья версия расширенной файловой системы), сокращённо ext3 или ext3fs — журналируемая файловая система, используемая в операционных системах на ядре Linux, является файловой системой по умолчанию во многих дистрибутивах. Основана на ФС ext2, начало разработки которой положил Стивен Твиди. Основное отличие от ext2 состоит в том, что ext3 журналируема, то есть в ней предусмотрена запись некоторых данных, позволяющих восстановить файловую систему при сбоях в работе компьютера.

Стандартом предусмотрено три режима журналирования:

· writeback: в журнал записываются только метаданные файловой системы, то есть информация о её изменении. Не может гарантировать целостности данных, но уже заметно сокращает время проверки по сравнению с ext2;

· ordered: то же, что и writeback, но запись данных в файл производится гарантированно до записи информации о изменении этого файла. Немного снижает производительность, также не может гарантировать целостности данных (хотя и увеличивает вероятность их сохранности при дописывании в конец существующего файла);

· journal: полное журналирование как метаданных ФС, так и пользовательских данных. Самый медленный, но и самый безопасный режим; может гарантировать целостность данных при хранении журнала на отдельном разделе (а лучше — на отдельном жёстком диске).

Указывается режим журналирования в строке параметров для программы mount, например:

mount /dev/hda6 /mnt/disc -t ext3 -o data=<режим>

либо в файле /etc/fstab.

Файловая система ext3 может поддерживать файлы размером до 1 ТБ. В Linux 2.6 (для 32-разрядных процессоров) максимальный размер блочных устройств составляет 16 ТБ, однако ext3 поддерживает только до 4 ТБ.

Табл. 1 Ограничения размеров

Размер блока Макс. размер файла Макс. размер файловой системы
1 KB 16 GB до 2 TB
2 KB 256 GB до 4 TB
4 KB 2 TB до 8 TB
8 KB 2 TB до 16 TB

Fourth Extended File System (четвёртая версия расширенной файловой системы), сокр. ext4, или ext4fs — журналируемая файловая система, используемая в ОС с ядром Linux. Основана на файловой системе ext3, которая является файловой системой по умолчанию во многих дистрибутивах Linux.

Основной особенностью стало увеличение максимального объёма одного раздела диска до 1 эксабайта (260 байт) при размере блока 4Kb, и увеличение размера одного файла до 16 терабайт. Кроме того, в ext4 представлен механизм пространственной (extent) записи файлов (новая информация добавляется в конец заранее выделенной по соседству области файла), уменьшающий фрагментацию и повышающий производительность. В системах MS Windows доступ к томам с ext4 возможен посредством использования технологии coLinux.

Journaled File System или JFS — 64-битная журналируемая файловая система созданная IBM.

Исходный код JFS был открыт IBM в 1999 году и включен в исходный код ядра Linux начиная с версии 2.4.18-pre9-ac4. Большинство дистрибутивов Linux обеспечивают поддержку JFS, если только она не была специально удалена из-за ограничений на объём дистрибутива или иных проблем.Для управления разделами диска в формате JFS был выпущен набор утилит под названием JFSutils

ReiserFS (произносится «Райзэр Эф Эс») — журналируемая файловая система, разработанная специально для Linux компанией Namesys под руководством Ганса Рейзера. Обычно под словом ReiserFS понимают третью версию, а четвёртую называют Reiser4.

В настоящее время ReiserFS поддерживается только под Linux, но может быть в будущем перенесена на другие платформы. Появившись в Linux версии 2.4.1, она стала первой журналируемой файловой системой, включённой в ядро. ReiserFS — стандартная файловая система для дистрибутивов Ubuntu, Gentoo, Archlinux, Slackware, SuSE, Xandros, Yoper, Linspire и Kurumin Linux, рекомендуемой в Calculate Linux. Может быть создана командой mkreiserfs.

Возможность упаковки нескольких небольших файлов в один блок во избежание фрагментации и потери дискового пространства. Из-за сильной потери производительности Namesys рекомендует отключить эту возможность на чувствительных к ресурсам машинах. Несколько режимов журналирования: только метаданные/все данные. Возможность изменения размера файловой системы «на лету».

XFS — высокопроизводительная журналируемая файловая система, созданная компанией Silicon Graphics для собственной операционной системы IRIX. 1 мая 2001 года Silicon Graphics выпустила XFS под GNU General Public License. XFS отличается от других ФС тем, что она изначально была рассчитана для использования на дисках большого объема.

Поддержка XFS была включена в ядро Linux версий 2.4 (начиная с 2.4.25, когда Марчело Тозатти посчитал её достаточно стабильной) и 2.6, и, таким образом, она стала довольно универсальной для Linux-систем. Инсталляторы дистрибутивов SuSE, Gentoo, Mandriva, Slackware, Ubuntu, Fedora и Debian предлагают XFS как вариант файловой системы для установки. FreeBSD стала поддерживать XFS в режиме чтения в декабре 2005 года.

Особенности

· 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, так что некоторая степень остается совместимой на разных платформах. Совместимость между реализациями неполная, в лучшем случае, и должна быть исследована перед использованием на нескольких платформах.