одів. Блоки каталозі входів сортуються в двійковому лексичному порядку по полях імені в алфавітному порядку для алфавіту США. Останній блок каталогу входу - запис, яка відзначає кінець блоку.
Коли каталог отримує занадто великий файл, який потрібно зберегти в одному блоці, він збільшує розмір додаванням блоків 2 КБ, які організовуються як B-Tree [1]. При пошуку файлова система витягує покажчик B-Tree з входу. Якщо це не покажчик, то пошук невдалий; інакше файлова система слідує за вказівником в наступний каталог і продовжує пошук. p> Невелика арифметика дає значну статистику. При використання 40 входів на блок, блоки каталозі дерева з двома рівнями можуть містити 1640 входів, каталогу і дерева з трьома рівнями можуть містити напрочуд 65640 входів. Іншими словами, деякий файл може бути знайдений в типовому каталозі з 65640 файлів максимум за три звернення. Це набагато краще файлової системи FAT, де у найгіршому випадку більш ніж 4000 секторів потрібно прочитати для знаходження файлу.
Структура каталогу B-Tree має цікаві імплікації. Створення файлу, перейменування або стирання може призводити до каскадування блоків каталогів. Фактично, перейменування може терпіти невдачу через нестачу дискового простору, навіть якщо файл безпосередньо в розмірах не збільшився. Щоб уникнути цього "лиха", HPFS підтримує маленький пул вільних блоків, які можуть використовуватися при "аварії";
Покажчик на цей пул вільних блоків зберігається в SpareBlock. br/>
Розширені Атрибути
Атрибути файлу - інформація про файл. FAT підтримує тільки невелика кількість простих атрибутів (доступний тільки для читання, системний, прихований, архів) які фактично зберігаються як прапорці біта на вході каталозі файлу; ці атрибути не доступні, якщо файл відкритий.
HPFS підтримує ті ж самі атрибути, що і файлова система FAT з історичних причин, але він також підтримує і нову форму fileassociated, тобто інформацію, яка називається Розширеними Атрибутами (EAs). Кожен EA концептуально подібний змінної оточення. br/>
Значення імені
У OS/2 1.2 кожен каталог або файл може мати максимум 64 КБ приєднаних EAs. Це обмеження знімається в більш пізніх версіях OS/2.
Метод зберігання для EAs може змінюватися. Якщо одиночний EA стає занадто великим, він може міститися зовні Fnode. p> Ядро API функції DosQFileInfo і DosSetFileInfo розширено новими інформаційними рівнями, які дозволяють прикладним програмам керувати розширеними атрибутами файлів. Нові функції DosQPathInfo і DosSetPathInfo використовуються для читання або запису EAs, пов'язаних з довільними іменами шляху.
Підтримка EAs є істотним компонентом в об'єктно - орієнтованих файлових системах. Інформація про майже будь-якому типі може зберігатися в EAs. Так як HPFS розвивається, засоби для управління EAs стають ще більш складним. p> Можна припустити, наприклад, що в майбутньому версії API ...