Знакомство с файловой системой ext4

ОС Linux поддерживает множество файловых систем - журналируемых, кластерных, систем с шифрованием. Это и неудивительно, ведь Linux - это великолепная открытая среда для использования как стандартных, так и специальных файловых систем. А также это отличная среда для разработки этих файловых систем. В этой статье мы познакомимся с новой файловой системой ext4, частичная реализация которой осуществлена в недавно вышедшем дистрибутиве Fedora 9.

Компьютерные файловые системы (ФС) по своим принципам ничем не отличаются от бумажных файловых архивов, где документы положены в отдельные бумажные или полиэтиленовые файлы-папочки, пронумерованы и описаны в каталогах и разложены аккуратно по полкам-стеллажам, и где сидит архивариус, который и управляет всем этим хозяйством. Точно так же и файловая система компьютера определяет порядок и регламент по организации, хранению и именованию данных на носителях информации - дисках, флэшках, CD. Каждая конкретная ФС определяет параметры имени файла, максимально возможный размер файла, метаданные этого файла. И также каждая система играет роль архивариуса, то есть обеспечивает функции удобного и достаточно простого доступа к файлам для пользователей и прикладных программ.

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

В мире Unix и, соответственно, Linux для этих типовых задач давно используется семейство файловых систем ext2/ext3 (extended file system - расширенная файловая система). История этого семейства начинается с 1993 года, когда появилась ext2. В ней были реализованы такие особенности, как сетевая иерархия каталогов, расширенный набор атрибутов файлов, списки контроля доступа. Растущие объёмы дискового пространства и хранимых данных привели к необходимости организовать более эффективный механизм защиты системы от последствий сбоев и аварий. Система восстановления после сбоев в ext2 уже не обеспечивала достаточную оперативность восстановления данных. Разработанная Стивеном Твиди (Stephen Tweedie) ФС ext3 является продолжением ext2, где была добавлена возможность журналирования, то есть механизм транзакций при операциях с файлами. Теперь при аварийных перезагрузках уже не было необходимости дожидаться длительной работы утилиты восстановления fsck при перезапуске компьютера, что весьма критично для работы серверов.

Но время идёт, объёмы данных продолжают расти, и перед файловыми системами появляются новые дополнительные задачи. 10 октября 2006 года для нескольких версий операционной системы Linux был выпущен экспериментальный патч, включающий в них поддержку новой файловой системы ext4. Эта ФС также является эволюционным развитием предыдущей ext3. Рассмотрим более подробно её некоторые новые возможности.

  • В первую очередь, увеличены объёмы данных, которые ФС может скушать и переварить. Ext4 поддерживает гигантские объёмы дисков и размеры файлов. Теперь компьютерщикам, кроме "мега" и "гига", придётся учить новые префиксы чисел. Новая файловая система позволяет хранить в одном разделе до 1024 петабайт, а максимальный размер файла может составлять 16 тебибайт. Ext3 поддерживает 32 тысячи поддиректорий, а в ext4 все ограничения на количество поддиректорий сняты.
  • Запись контрольных сумм в журнал и, как следствие, высокая надежность транзакций.
  • В ext4 представлен механизм "пространственной" (extent) записи файлов. Эта технология уже присутствует в таких файловых системах, как Reiser4 и IBM JFS. Новая информация добавляется на диск по определённому алгоритму, который специально уменьшает фрагментацию и повышает производительность. А также предполагается механизм дефрагментации, чего не было в предыдущих ext2 и ext3.
  • Для более точной работы с временными атрибутами файлов - время создания, модификации - используются наносекундные временные отметки (timestamps). Максимально возможное время увеличено до 25 апреля 2514 года, против 18 января 2038 года у Ext3.
  • В недалёком будущем, надеюсь, обещают механизмы и утилиты восстановления удаленных файлов.
  • И, естественно, сохранена совместимость с ext3. Ext4 можно примонтировать как раздел ext3. Однако при этом, естественно, вы будете лишены возможностей extents.

Из всего вышесказанного можно сделать вывод, что ext4 знаменует грядущую эпоху информационных хранилищ, глобальных датацентров, транснациональных сервисных интернет-систем с их невообразимыми для простого обладателя какого-нибудь простого ноутбука объёмами информации. И, выбрав эту файловую систему у себя на компьютере, тот же владелец простого ноутбука вряд ли заметит преимущества этой ФС. Но, с другой стороны, ext4 - это продолжение надёжности и простоты ext2/ext3. С появлением функций восстановления данных данная ФС может быть интересной и обычному пользователю.

P.S. Ну а если говорить о моих личных предпочтениях, то, как обычный пользователь, я пока предпочитаю ReiserFS.

Михаил АСТАПЧИК

Версия для печатиВерсия для печати

Номер: 

20 за 2008 год

Рубрика: 

Software
Заметили ошибку? Выделите ее мышкой и нажмите Ctrl+Enter!

Комментарии

Страницы

Аватар пользователя SF
В общем, юзайте OS/2, и будет вам щасте...
Аватар пользователя mike
Видимо, кто-то и БИОС почитает за ОС. Таких надо отправлять к истокам ОС для микромашин, в частности, к CP/M. И посоветовать ознакомиться с теорией ОС, хотя бы узнать, какими они бывают. (Тема для статьи?) Важнейший признак полноценной ОС, помимо названных, - интерфейс с пользователем. Чаще всего это командная строка. Поэтому Линукс - это ОС. Автор не ошибается!
Аватар пользователя Логик
>Видимо, кто-то и БИОС почитает за ОС.

Почему нет? Если БИОС на себя возмет некоторые функции ОС?

>Важнейший признак полноценной ОС, помимо названных, - интерфейс с пользователем.

Интерфейс с пользователем? - Это наверное самое неважное, что требуется от ОС, это типа шапки на голове. Шапки, которую можно менять по сезону(моде) - или строка или гуи или голос или тактильный - относить это к ОС можно, но бессмысленно. ИМХО.

Аватар пользователя mike
>Почему нет?

Вообще-то, БИОС это часть ОС. Прикольно, да?

Аватар пользователя Логик
>Вообще-то, БИОС это часть ОС. Прикольно, да?

А какой именно часть - Linux или Windows? ;-)

Аватар пользователя SF
ИМХО, BIOS обычно отделяют от клиентской ОС именно потому, что BIOS прошит прямо на материнку, а Windows/Linux - нет.
Аватар пользователя Инкогнито
>>Важнейший признак полноценной ОС, помимо

>>названных, - интерфейс с пользователем.

>>Чаще всего это командная строка. Поэтому >>Линукс - это ОС. Автор не ошибается!

Оболочка не является частью ядра Linux. Автор ошибается

Аватар пользователя mike
>А какой именно часть - Linux или Windows?

Обеих! Прикольно, да?

>Оболочка не является частью ядра Linux.

Линукс имеет процессор команд консоли? Имеет. Или это оболочка? Мля, как надоели трёхбуквенные. Читайте теорию, не надо будет икситься. Автор прав!

Аватар пользователя Логик
mike (old student) >>А какой именно часть - Linux или Windows? > Обеих! Прикольно, да?

Конечно прикольно, ибо БИОС не знает к какой ОС его отнес mike. :-)

Аватар пользователя mike
>БИОС не знает к какой ОС его отнес mike

В этом-то и прелесть. Но было время, когда BIOS загружался, как секшн ОС. :( С тех пор он (или она?) так и зовётся.

Страницы