Skip to main content

Что такое файловая система Extent?

Файловая система экстентов (EFS) - это метод управления файлами и памятью на жестком диске компьютера или другом физическом запоминающем устройстве, который использует ряд непрерывных областей памяти для хранения информации вместо использования более мелких, более разрозненных блоков, известных как блоки. Некоторые файловые системы выделяют пространство, необходимое для файлов небольшими единицами, известными как блоки, что может привести к физическому разбросу по файлу одного файла средней длины, что снижает скорость и эффективность чтения из этого файла. В случае файловой системы экстентов все меньшие блоки объединяются в более крупную структуру, известную как экстент, что означает, что файлы большего размера могут храниться в одном смежном месте на физическом диске, что увеличивает скорость диска, когда чтение из этого файла. Хотя многие операционные системы поддерживают использование экстентов, этот термин первоначально был применен к конкретной файловой системе ранних экстентов ныне снятой с производства Unix-подобной операционной системы, известной как IRIX®, разработанной Silicon Graphics®.

Отдельные биты и байты на физическом диске, таком как жесткий диск или компакт-диск (CD), делятся на группы по аппаратному обеспечению, операционной системе и файловой системе. Они известны как логические группировки, потому что они не обязательно имеют физические границы, только те, которые установлены системой. Для нескольких файловых систем логическая группировка, известная как блоки, используется как основной объем пространства, которое может быть выделено для хранения файла. Блок может иметь любой размер, но обычно он очень маленький, иногда занимает всего 128 байтов.

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

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

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