Interested Article - Экстент
- 2020-10-19
- 1
Экстент ( англ. extent — «протяжённость») — в файловых системах — непрерывная область носителя информации . Как правило, в файловых системах с поддержкой экстентов большие файлы состоят из нескольких экстентов, не являющихся смежными на носителе информации.
Экстенты и блоки
Во многих файловых системах в общем случае информация о файле хранится в виде «заголовка», то есть некой относительно небольшой структуры данных (например, inode и косвенных блоков в ext3 или строки Master File Table в NTFS ), который содержит указатели на участки носителя информации, где по частям хранится содержимое файла. В традиционных файловых системах это — указатели на отдельные блоки (минимальные участки носителя, которые можно прочесть или записать за раз). В ряде современных файловых систем используются указатели не на блоки, а на экстенты.
Использование указателей на экстенты имеет ряд преимуществ над схемой с указателями на отдельные блоки. Поскольку все данные в одном экстенте расположены на диске подряд, повышается скорость чтения и записи файла и понижается степень дискового пространства. При одинаковом размере и организации структуры данных «заголовка» файла файловая система с поддержкой экстентов будет иметь больший максимальный размер файлов.
Главный недостаток экстентов — повышенная сложность реализации файловой системы.
Следует заметить, что использование алгоритма распределения блоков, который распределяет их по возможности из непрерывного участка, повышает скорость чтения и записи данных и отчасти компенсирует отсутствие поддержки экстентов. Скорость доступа к файлу также можно повысить, если заранее зарезервировать под файл по возможности непрерывный участок на диске (например, через системный вызов fallocate в Unix или через SetFileValidData и SetEndOfFile в Microsoft Windows ); впрочем, такое резервирование полезно, даже если файловая система не поддерживает экстенты.
Известные файловые системы с поддержкой экстентов
Примечания
-
L. W. McVoy (1991).
. USENIX − Winter ’91.
Даллас
. Архивировано из
(
PostScript
)
20 февраля 2007
. Дата обращения:
13 августа 2008
.
{{ cite conference }}
: Неизвестный параметр|coauthors=
игнорируется (|author=
предлагается) ( справка ) - (англ.) . Дата обращения: 13 августа 2008. Архивировано из 21 сентября 2008 года.
См. также
Ссылки
- (англ.)
- 2020-10-19
- 1