Перейти к содержанию

Extent File System

Эта статья находится на начальном уровне проработки, в одной из её версий выборочно используется текст из источника, распространяемого под свободной лицензией
Материал из энциклопедии Руниверсалис
EFS
Разработчик SGI
Файловая система Extent File System
Дата представления (IRIX)
Ограничения
Максимальный размер файла 2 ГБ минус 1 Бт
Максимальный размер тома 8 ГБ
Возможности
Свойства Время модификации (mtime), attribute modification (ctime), время последнего доступа (atime)
Диапазон дат 14 декабря 1901 г. - 18 января 2038 г.
Точность хранения даты 1 секунда
Права доступа POSIX
Фоновая компрессия нет
Фоновое шифрование нет
Поддерживается ОС IRIX, Linux, BSD

Extent File System или EFS — устаревшая, основанная на экстентах файловая система, используемая в IRIX до версии 5.3. В дальнейшем заменена XFS.

Файловая система EFS является оригинальной файловой системой IRIX. Максимальный размер файловой системы EFS составляет около 8 Гб. Она использует размер блока 512 байт и позволяет максимальный размер файла 2 ГБ минус 1 байт.

Отличия EFS от традиционной UFS в том, что в ней используются множественные таблицы индексных дескрипторов, размещаемых в непосредственной близости от блоков данных, а не единая большая таблица индексных дескрипторов, кроме того, используются битовая карта для трекинга свободных блоков вместо хранения их списка.

Индексные дескрипторы создаются в момент создания файловой системы EFS, а не в момент создания файла. При создании файла под него просто выделяется индексный дескриптор. Таким образом, максимальное количество файлов в файловой системе, ограничено количество индексных дескрипторов в файловой системе. По умолчанию число созданных индексных дескрипторов является функцией от размера раздела или логического тома. Обычно один индексный дескриптор создается для каждых 4 КБ раздела или логического тома. Есть возможность указать число узлов используя опцию -n команды mkfs. Индексные дескрипторы занимают дисковое пространство, поэтому существует компромисс между количеством дескрипторов и количеством свободного места на диске для файлов.

Первый блок файловой системы EFS не используется. Информация о файловой системе хранится во втором блоке файловой системы (блок 1), называется суперблок. Эта информация включает в себя:

  • Размер файловой системы, количество как физических, так и логических блоков
  • Флаг «только для чтения», если установлен, файловая система только для чтения
  • Флаг «суперблок модифицирован», если установлен, суперблок был изменен
  • Дата и время последнего изменения
  • Общее количество выделенных индексных дескрипторов
  • Общее количество свободных индексных дескрипторов
  • Общее количество свободных блоков
  • Номер первого свободного блока в битовой карте

Суперблок с битовыми картами следует за индексными дескрипторами и блоком данных. Каждая группа смежных блоков данных, которые составляют файл, называется экстентом (extent). В индексном дескрипторе имеется 12 экстентов. Экстенты имеют переменную длину, от 1 до 148 смежных блоков.

Индексный дескриптор содержит 12 экстентов, которые могут содержать 1536 блоков, или 786432 байт. Если файл не помещается в 12 экстентов, то, начиная со 148-го адреса используются косвенные (indirect) экстенты. Косвенные экстенты, содержащие фактические данные, и составляют файл. В силу этой особенности архитектуры в EFS возможно создавать файлы размером до 2 Гб.

Последний блок файловой системы является копией суперблока. Это мера предосторожности, которая обеспечивает резервное копирование важной информации, хранящейся в суперблоке.

См. также

Ссылки