ext2 (Second Extended File System)

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 23:55, 28 декабря 2016.

ext2
Полное название Second extended file system
Содержимое каталога Table
Распределение файлов bitmap (free space), table (metadata)
Сбойные блоки Table
Limits
Макс. размер тома 2–32 TiB
Макс. размер файла 16 GiB – 2 TiB
Макс. количество файлов 1018
Макс. длина имени файла 255 bytes
Разрешенные символы
в именах файлов
All bytes except NUL ('\0') and '/'
Features
Даты зарегистрирован modification (mtime), attribute modification (ctime), access (atime)
Диапазон дат December 14, 1901 - January 18, 2038
Дата резолюции 1 s
Разрешения файловой системы POSIX
Прозрачное сжатие No (Available through patches)
Транспорантное шифрование No
Другие
Операционная система Linux, BSD, Windows (through an IFS), Mac OS X (through an IFS)

ext2 (англ. Second Extended File System) (дословно: «вторая расширенная файловая система»), сокращённо ext2 (иногда ext2fs) — файловая система ядра Linux. Была разработана Реми Кардом (англ.) взамен существующей тогда ext. По скорости и производительности работы она может служить эталоном в тестах производительности файловых систем. Так, в тестах на скорость последовательного чтения и записи, проведённых The Dell TechCenter, файловая система ext2 обгоняет ext3, и уступает лишь более современной ext4 в тесте на чтение.

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

Архитектура ext2

Файловую систему можно представить в виде следующей структурной схемы:

  • Суперблок (Superblock)
  • Описание группы блоков (Block Group Descriptors)
  • Битовая карта блоков (Blocks Bitmap)
  • Битовая карта индексных дескрипторов (Inode Bitmap)
  • Таблица индексных дескрипторов (Inode Table)
  • Данные

Все пространство раздела диска разбивается на так называемые блоки, имеющие порядковые номера. Блоки имеют фиксированный размер и кратны размеру сектора (1024,2048,4096...). Для уменьшения количества перемещений головки жесткого диска блоки объединяют в группы блоков.

Одним из базовых понятий ext2 является понятие индексного дескриптора (inode, инод, айнод). Это специальная структура, содержащая в себе информацию об физическом расположении файла/директории/ссылки и т.п. и его атрибутах.

Суперблок

Суперблок - основной элемент файловой системы ext2. Он содержит следующую информацию о файловой системе (список не полный):

  • общее число блоков и inode-ов в файловой системе
  • число свободных блоков и inode-ов в файловой системе
  • размер блока файловой системы
  • количество блоков и inode-ов в группе
  • размер inode-а
  • идентификатор файловой системы
  • номер первого блока данных. Другими словами, это номер блока, содержащего суперблок. Этот номер всегда равен 0, если размер блока файловой системы больше 1024 байт, и 1, если размер блока равен 1024 байт

Описание группы блоков

BGD таблица содержит индексные дескрипторы для каждой группы блоков файловой системы и распологается сразу после суперблока. Таким образом, если указано, что размер блока составляет 1 кб, то блок с таблицей начинается в втором блоке. Блоки нумеруются с нуля, и номера блоков не соответствуют их физическому нахождению.

400x

Система адресации данных

Система адресации данных — это одна из самых важных составляющих файловой системы. Именно она позволяет находить нужный файл среди множества как пустых, так и занятых блоков на диске. Для хранения адреса файла выделено 15 полей по 4 байта. Если файл умещается в пределах 12 блоков, то в первых 12 полях адреса перечислены номера соответствующих кластеров, иначе следующее поле используется для косвенной адресации. Возможна ситуация, когда размер файла превышает 1024+12 блоков. Тогда 14 поле используется для двойной косвенной адресации, но если вдруг файл включает в себя более 1049612 блоков, в дело вступает тройная косвенная адресация и 15 блок. Такая организация позволяет при максимальном размере блока в 4Кб оперировать файлами, размер которых превышает 2Тб.

600x

Применение

  • ext2 применяется в системах на которые проблематично установить современные файловые системы
  • Файловые системы для boot-раздела, в случаях, когда на корневом разделе используется экзотическая ФС, которую не поддержит загрузчик или ядро
  • Для флэш-накопителей
  • В кэшах, временных файлах и т. д. Так как, там нужен максимум скорости при ненужной сохранности данных
  • При восстановлении удалённых файлов

Преимущества и недостатки

Преимущества

  • Так как, в системе нет журналирования, она может снизить интенсивность записи и износ ячеек флэш-памяти
  • Высокая производительность
  • Обладает отличной совместимостью, т. е. будет прочитана любой Linux-системой, большинством BSD-систем

Недостатки

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

Источники

Примечания