stringtranslate.com

Экстент (файловые системы)

В вычислительной технике экстент это непрерывная область хранения, зарезервированная для файла в файловой системе , представленная в виде диапазона номеров блоков или дорожек на устройствах хранения ключевых данных . Файл может состоять из нуля или более экстентов; для одного фрагмента файла требуется один экстент. Прямая выгода заключается в компактном хранении каждого диапазона в виде двух чисел вместо канонического хранения каждого номера блока в диапазоне. [1] Кроме того, распределение экстентов приводит к меньшей фрагментации файла .

Файловые системы на основе экстентов также могут устранить большую часть накладных расходов на метаданные больших файлов, которые традиционно были бы заняты деревом распределения блоков. Но поскольку экономия невелика по сравнению с объемом хранимых данных (для всех размеров файлов в целом), но составляет большую часть метаданных (для больших файлов), общие преимущества в эффективности хранения и производительности незначительны. [2]

Чтобы противостоять фрагментации, несколько файловых систем на основе экстентов используют allocate-on-flush . Многие современные отказоустойчивые файловые системы также используют copy-on-write , хотя это увеличивает фрагментацию. Как аналогичная конструкция, файловая система CP/M также использует экстенты, но они не соответствуют определению, данному выше. Экстенты CP/M отображаются непрерывно как один блок в объединенной таблице каталогов/выделений, и они не обязательно соответствуют непрерывной области данных на диске.

IBM OS/360 и последующие версии размещают файлы в кратных дисковым дорожкам или цилиндрам . Изначально файлы могли иметь до 16 экстентов, но с тех пор это ограничение было снято. Первоначальный размер выделения и размер дополнительных экстентов, которые должны быть выделены при необходимости, указываются пользователем с помощью Job Control Language . Система пытается выделить начальный размер как непрерывную область, хотя она может быть разделена, если непрерывное пространство недоступно.

Принятие

Системы, поддерживающие экстенты файловой системы, включают в себя следующее:

Смотрите также

Ссылки

  1. ^ "Understanding Ext4 (part1): Extents". 2010-12-20. Архивировано из оригинала 2015-02-03 . Получено 2015-02-02 . Однако, что действительно является отклонением для EXT4, так это использование экстентов вместо старого, неэффективного механизма косвенных блоков, который использовался более ранними файловыми системами Unix (например, EXT2 и EXT3) для отслеживания содержимого файла. Экстенты похожи на кластерные запуски в файловой системе NTFS; по сути, они указывают начальный адрес блока и количество блоков, составляющих экстент. Файл, который фрагментирован, будет иметь несколько экстентов, но EXT4 очень старается сохранять файлы смежными.
  2. ^ "Ext4 Disk Layout". 2015-01-26 . Получено 2015-02-02 . Если flex_bg включен, можно выделять очень большие файлы с одним экстентом, при значительном сокращении использования блока метаданных и некотором улучшении эффективности диска.
  3. ^ "Понимание страниц и экстентов". Microsoft Developer Network . Получено 2014-08-14 .

Внешние ссылки