Нові версії системи FAT

Структури даних файлової системи є однією з найбільш консервативних, погано піддаються змінам характеристик ОС. Проблема полягає в тому, що при змінах структур даних важко зберегти сумісність з більш ранніми версіями. Було б катастрофою, якби всі безліч накопичених у світі файлів в системі FAT раптом перестало читатися в новій версії системи. Тим не менш, деякі цікаві зміни все ж вдалося ввести при випуску версій Windows 95 і 98.

У Windows 95 було подолано прикре обмеження довжини імені файлу - знамените правило «8 + 3». Здавалося б, при розмірі записі каталогу в 32 байта важко сподіватися на довгі імена файлів. Тим не менш, було знайдено забавне рішення цієї проблеми.

Розробники з Microsoft звернули увагу, що ті записи каталогу, в яких зустрічається безглузда комбінація бітових атрибутів «прихований + системний + тільки читання + мітка тому», просто-напросто ігноруються як системними програмами MS-DOS, так і поширеними утилітами інших розробників. Це дало можливість використовувати записи з такою комбінацією для зберігання довгого імені файлу. Як і раніше для кожного файлу в каталозі є основна запис у звичайному, старому форматі, що містить атрибути файлу, номер першого кластера і обов'язкове «короткий» ім'я. Однак якщо користувач при створенні файлу вказує ім'я, яке не вкладається в стандарт «8 + 3» або містить малі літери, то перед основною записом буде вставлено потрібну кількість додаткових записів з розбитим на шматочки «довгим ім'ям» в кодуванні UNICODE (по 2 байти на символ , що дозволяє використовувати будь-який відомий алфавіт). Довжина імені, згідно з документацією, може досягати 255 символів (насправді, трохи менше).

Починаючи з Windows 98, з'явилася можливість використовувати новий різновид файлової системи - FAT-32. Її відмінність від FAT-12 і FAT-16 полягає не тільки в більшої розрядності номера кластера (хоча і це дуже важливо для великих дисків), але і в тому, що Microsoft нарешті зважилася використовувати 10-байтовий резерв, який невідомо для яких цілей зберігався незайнятим в кожному записі каталогу. Завдяки цьому з'явилася можливість додати до дати / часу

останньої модифікації файлу ще два тимчасових штампа: дату / час створення (насправді, це дата / час останньої зміни каталожної записи) і дату останнього доступу до файлу.