exFAT (від Extended FAT — «розширена FAT») — файлова система, призначена для флеш-накопичувачів. Вперше представлена фірмою Microsoft для вбудованих пристроїв в Windows Embedded CE 6.0.

ExFAT
Розробник Microsoft
Структура
Обмеження
Можливості

Переваги ред.

Основними перевагами exFAT перед попередніми версіями FAT є[1]:

  • зменшення кількості перезаписів одного і того ж сектора, що дуже важливо для флеш-накопичувачів, у яких комірки пам'яті безповоротно зношуються після певної кількості операцій запису. Це було основною причиною розробки ExFAT;
  • теоретичний ліміт на розмір файлу 264 байт (16 ексбібайт);
  • максимальний розмір кластера збільшено до 225 байт (32 мебібайт);
  • поліпшення розподілу вільного місця за рахунок введення біт-карти вільного місця, що може зменшувати фрагментацію диска;
  • введена підтримка списку прав доступу (ACL);
  • підтримка транзакцій (опціональна можливість, повинна підтримуватися пристроєм).

Обмеження ред.

Кількість файлів в підкаталогах обмежено числом 2,796,202 (223/3). Для кореневого каталогу обмежень немає.[2]

Підтримка ред.

Підтримка exFAT є в Windows XP із Service Pack 2 і 3 з оновленням KB955704, Windows Vista із Service Pack 1, Windows Server 2008, Windows 7,[3] а також в Mac OS X Snow Leopard починаючи з версії 10.6.5[4].

Технологія ReadyBoost в Windows Vista не сумісна з пристроями із файловою системою exFAT.[5]

Існує вільний драйвер exFAT в вигляді патчу для ядра Linux, що підтримує тільки читання цієї файлової системи[6]. Також існує драйвер, що працює через FUSE (файлова система у просторі користувача), з підтримкою як читання, так і запису.

Влітку 2013 корпорація Samsung офіційно випустила розроблений ними драйвер для файлової системи exFAT, реалізований у вигляді модуля ядра Linux, з кодом під ліцензією GPLv2.[7] На відміну від раніше доступного драйвера exfat-fuse, створений Samsung драйвер виконується на рівні ядра, що дозволяє домогтися вищої продуктивності. Незважаючи на публікацію коду під ліцензією GPL, постачання драйвера у складі дистрибутивів і кінцевих продуктів ускладнене через небезпеку пред'явлення компанією Microsoft позову про порушення патентів, які зачіпають exFAT.

Ліцензування ред.

Ліцензійнний статус незрозумілий. Але відомо, що Microsoft успішно запатентувала файлову систему FAT[8], і в лютому 2009 року подала в суд на компанію TomTom, звинувачуючи її в порушенні патенту.[9]

Існує також стороння реалізація exFAT для Windows XP[10] / Windows Server 2003, але вона призначена для безпосередньої інтеграції в дистрибутив продукту без можливості ручного встановлення драйвера. Даний порт виконаний на базі драйвера Windows Vista.

В грудні 2009 року Microsoft почали ліцензувати файлову систему exFAT для сторонніх виробників.

Файлова система exFAT використовувалася для sd карт на Android пристроях (ОС яких працює на ядрі Linux). Виробники реалізували драйвер exFAT для ядра Linux, залишивши код драйвера закритим, але хтось опублікував цей код на сайті github.com. Опублікований код вважався вкраденим у компанії Samsung, до тих пір поки в цьому коді співтовариство знайшло фрагменти коду захищеного ліцензією GPL, що вимагало розкриття всіх початкових кодів, інакше це було крадіжкою у спільноти з боку компанії Samsung. Через деякий час компанія Samsung випустили код exFAT під ліцензією GPL[11].

28 серпня 2019 року, Microsoft опублікувала специфікацію exFAT[12] і передала патент членам OIN.[13] Нативна підтримка exFAT з'явилася в ядрі Linux з релізу 5.4.[14]

Див. також ред.

  • F2FS — відкрита файлова система для флеш-пам'яті і SSD-накопичувачів від Samsung

Примітки ред.

  1. Extended File Allocation Table (exFAT) // Windows File Systems / Microsoft. — Дата звернення: 14.09.2020.
  2. Robert Shullich. Reverse Engineering the Microsoft exFAT File (англійською) . The SANS Institute. Архів оригіналу за 6 жовтня 2012. Процитовано 11 жовтня 2012.
  3. Brandon LeBlanc. (28 августа 2007). Vista SP1 Whitepaper (англійською) . Microsoft. Архів оригіналу за 05-06-2012. Процитовано 15-10-2007.
  4. Файлова система ExFAT — універсальне вирішення для Mac OS X і Windows. Архів оригіналу за 27 вересня 2011. Процитовано 11 жовтня 2012.
  5. Перелік допустимих файлових систем, відображуваних в Windows Vista при спробі використання ReadyBoost із флеш-накопичувачем, що використовує файлову систему exFAT
  6. Fat64 / exFat fs and Linux — fa.linux.kernel | Google Groups. Архів оригіналу за 9 травня 2012. Процитовано 11 жовтня 2012.
  7. Компания Samsung опубликовала Linux-драйвер exFAT под лицензией GPLv2 [Архівовано 27 вересня 2013 у Wayback Machine.] // opennet.ru 16.08.2013
  8. Elizabeth Montalbano. (11 січня 2006). Microsoft FAT patents upheld (англійською) . Computerworld. Архів оригіналу за 05-06-2012. Процитовано 02-11-2008.
  9. Ryan Paul. (25 лютого 2009). Microsoft suit over FAT patents could open OSS Pandora's Box. Ars Technica (англійською) . Condé Nast Publications. Архів оригіналу за 22-08-2011. Процитовано 09-03-2009.
  10. Після 26 січня 2009 року вона втратила сенс з введенням в оновленні KB955704 офіційної підтримки даної файлової системи
  11. Samsung выпустил драйвер exFAT под GPLv2. habr.com (рос.). Архів оригіналу за 3 серпня 2019. Процитовано 3 серпня 2019.
  12. exFAT file specification. Архів оригіналу за 31 жовтня 2020. Процитовано 5 червня 2020.
  13. exFAT in the Linux kernel? Yes!. Архів оригіналу за 1 вересня 2019. Процитовано 5 червня 2020.
  14. Linux Kernel 5.4 Released With Kernel Lockdown, ExFAT Support & Improvements to AMD Radeon Graphics. Архів оригіналу за 8 грудня 2019. Процитовано 5 червня 2020.

Посилання ред.