Руководство по продвинутым файловым системам

       

B+ trees повсюду.


Внутренне, allocation groups используют эффективные B+ деревья (B+ trees) для отслеживания важных данных, например, диапазонов [ranges] (еще называются "extents") свободного дискового пространства и, конечно, inodes. Фактически, каждая allocation group имеет три B+ trees, при этом для отслеживания свободного пространства используются два. Одно дерево индексирует экстенты свободного дискового пространства по размеру, а второе - по начальному физическому положению на блочном устройстве. Способность быстро находить подходящие области на свободном пространстве - критическое условие для оптимизации операций записи (то, что положительно отличает XFS от других файловых систем).

В XFS очень эффективно организовано управление инодами. Каждая allocation group ассигнует иноды как ей это удобно в группы по 64. Каждая allocation group хранит свои иноды, используя B+ tree, и каждый конкретный inode number может быть быстро найден на диске. Можно сказать, что XFS использует B+ trees где это только возможно, что и способствует повышению производительности.



Содержание раздела