exFAT (от англ. Extended FAT — «расширенная FAT»), иногда называется FAT64 — проприетарная файловая система, предназначенная главным образом для флеш-накопителей. Впервые представлена фирмой Microsoft для встроенных устройств в Windows Embedded CE 6.0. Размер кластера по умолчанию для файловой системы exFAT составляет от 4 КБ до 128 КБ в зависимости от размера тома[1], максимальный допустимый по спецификации — 32 МБ[2].
exFAT | |
---|---|
Разработчик | Microsoft |
Файловая система | Расширенная таблица размещения файлов (англ. Extended File Allocation Table) |
Дата представления | Ноябрь 2006 (Windows Embedded CE 6.0) |
Метка тома |
0x07 (MBR) EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT) |
Структура | |
Содержимое папок | Таблица |
Размещение файлов | Битовые поля, Связный список |
Сбойные сектора | Пометка кластеров |
Ограничения | |
Максимальный размер файла | 16 эксабайт |
Возможности | |
Диапазон дат | 1 января 1980 — 31 декабря 2107[источник не указан 204 дня] |
Атрибуты | Только для чтения, скрытый, системный, метка тома, подкаталог, архивный |
Права доступа | Не поддерживаются[источник не указан 1561 день] |
Поддерживается ОС |
Windows Embedded CE 6.0 (для встроенных систем) Windows XP SP2 или более поздний с обновлением KB955704 (настольная версия), Windows Vista SP1 или более поздний (настольная версия) Windows Server 2008 RTM (серверная версия) Windows 7 (сборка 7601 или более поздняя) Windows 8 Windows 10 Windows 11 Mac OS X с версии 10.6.5 Linux (mainline ядро и FUSE) |
Преимущества
правитьОсновными преимуществами exFAT перед предыдущими версиями FAT являются:
- Уменьшение количества перезаписей одного и того же сектора, что важно для флеш-накопителей, у которых ячейки памяти необратимо изнашиваются после определённого количества операций записи (это сильно смягчается выравниванием износа (англ. wear leveling), встроенным в современные USB-накопители и SD-карты).
- Теоретический лимит на размер файла 264 байт (16 эксабайт).
- Максимальный размер кластера увеличен до 225 байт (32 мегабайта).
- Улучшение распределения свободного места за счёт введения бит-карты свободного места, что может уменьшать фрагментацию диска.
- Введена поддержка списка прав доступа[3].
- Поддержка транзакций (опциональная возможность, должна поддерживаться устройством).
Недостатки и ограничения
править- Более старые версии Windows NT, вплоть до Windows Vista без Service Pack 1, не поддерживают exFAT. Однако существуют официальные обновления от Microsoft, которые позволяют запускать exFAT на Windows XP SP2 и более поздних версиях.
- Windows Vista не способна использовать exFAT-размеченные устройства под ReadyBoost. В Windows 7 это ограничение устранено[4].
- Более сложная структура, в сравнении с FAT, вызывает большее потребление вычислительных ресурсов.
- Количество файлов в подкаталогах ограничено числом 2 796 202 (223/3). Для корневого каталога ограничения нет[5].
Поддержка
правитьПоддержка exFAT имеется в Windows XP с Service Pack 2 и 3 с обновлением KB955704, Windows Vista с Service Pack 1[6], Windows Server 2008, Windows 7, Windows 8, Windows 10, в Mac OS X начиная с версии 10.6.5[7], а также Linux (требуется компиляция исходного кода Samsung).
Существует свободный драйвер exFAT в виде патча для ядра Linux, поддерживающий только чтение этой файловой системы[8]. Также существует драйвер, работающий через FUSE, в том числе для ОС FreeBSD и OpenBSD (sysutils/fuse-exfat). Данный драйвер поддерживает как чтение, так и запись[9]. Кроме того, в августе 2013 года Samsung опубликовала драйвер для ядра Linux под лицензией GPL[10].
Лицензирование
правитьЛицензионный статус сначала был не определён. Однако Microsoft успешно запатентовала файловую систему FAT[11] и в феврале 2009 года подала в суд на компанию TomTom, обвиняя её в нарушении патента[12].
Существует также сторонняя реализация exFAT для Windows XP[13] / Windows Server 2003, однако она предназначена для непосредственной интеграции в дистрибутив продукта без возможности ручной установки драйвера. Данный порт выполнен на базе драйвера Windows Vista[14].
В декабре 2009 года Microsoft начала лицензировать файловую систему exFAT для сторонних производителей[15].
exFAT использовалась для sd-карт на Android-устройствах (ОС которых работает на ядре Linux). Производители реализовали драйвер exFAT для linux-ядра, оставив код драйвера закрытым, но некто опубликовал этот код на сайте GitHub[16]. Опубликованный код считался украденным у компании Samsung до тех пор, пока в этом коде сообщество не нашло фрагменты кода, защищённого GPL-лицензией, что требовало раскрытия всех исходников, иначе это было воровство у сообщества со стороны компании Samsung. Через некоторое время компания Samsung выпустила код exFAT под GPL-лицензией[17].
В конце августа 2019 года корпорация Microsoft после длительного внутреннего обсуждения опубликовала спецификацию ФС (удалив из нее уведомление о конфиденциальности[18]) и выступила с заявлением о поддержке инициативы по добавлению драйвера exFAT в ядро Linux. Ранее, в октябре 2018 года, корпорация присоединилась к Open Invention Network, но, вероятно, так и не передала патенты на exFAT в организацию[19]. Кроме того, в марте 2019 года она потребовала с Foxconn отчислений по патентному соглашению, заключённому в 2013 году[20][21] — речь может идти о заключённом тогда соглашении о выплатах за Android и Chrome OS[22].
См. также
правитьПримечания
править- ↑ Default cluster size for NTFS, FAT, and exFAT Архивная копия от 3 сентября 2019 на Wayback Machine (англ.), 2015 (Размер кластера по умолчанию для FAT, NTFS и exFAT)
- ↑ exFAT file system specification Архивная копия от 19 июля 2020 на Wayback Machine, Microsoft 2008—2010, 2019 (англ.) «3.1.15 SectorsPerClusterShift Field .. At most .. cluster size of 32MB»
- ↑ Windows File Systems . Дата обращения: 31 июля 2014. Архивировано 10 августа 2014 года.
- ↑ exFAT Versus FAT32 Versus NTFS (27 февраля 2008). Дата обращения: 2 октября 2009. Архивировано 2 февраля 2013 года.
- ↑ Robert Shullich. Reverse Engineering the Microsoft exFAT File (англ.). The SANS Institute. Дата обращения: 17 августа 2012. Архивировано 6 октября 2012 года.
- ↑ Brandon LeBlanc. Vista SP1 Whitepaper (англ.). Microsoft (28 августа 2007). Дата обращения: 15 октября 2007. Архивировано 5 июня 2012 года.
- ↑ Файловая система ExFAT — универсальное решение для Mac OS X и Windows. Дата обращения: 5 августа 2011. Архивировано из оригинала 27 сентября 2011 года.
- ↑ Fat64 / exFat fs and Linux — fa.linux.kernel | Google Groups . Дата обращения: 2 февраля 2009. Архивировано 9 мая 2012 года.
- ↑ exfat — Project Hosting on Google Code . Дата обращения: 3 июня 2010. Архивировано 22 сентября 2012 года.
- ↑ Conservancy Helps Samsung Resolve GPL Compliance Matter Amicably — Software Freedom Conservancy . Дата обращения: 25 августа 2013. Архивировано 20 ноября 2013 года.
- ↑ Elizabeth Montalbano. Microsoft FAT patents upheld (англ.). Computerworld (11 января 2006). Дата обращения: 2 ноября 2008. Архивировано 5 июня 2012 года.
- ↑ Ryan Paul. Microsoft suit over FAT patents could open OSS Pandora's Box (англ.). Ars Technica. Condé Nast Publications (25 февраля 2009). Дата обращения: 9 марта 2009. Архивировано 22 августа 2011 года.
- ↑ После 26 января 2009 года она утратила смысл с вводом в обновлении KB955704 официальной поддержки данной файловой системы
- ↑ ricktendo64. exFAT File System Driver for XP/2k3, Ported from Vista . WinCert.net (28 августа 2007). Дата обращения: 1 июля 2008. Архивировано 29 февраля 2012 года.
- ↑ Microsoft лицензирует файловую систему exFAT для сторонних производителей . Ferra.ru. Ferra.ru (11 декабря 2009). Дата обращения: 13 декабря 2009. Архивировано 16 апреля 2013 года.
- ↑ GitHub — dorimanx/exfat-nofuse: Android ARM Linux non-fuse read/write kernel driver for exFat and VFat Android file systems . Дата обращения: 2 июля 2018. Архивировано 26 марта 2019 года.
- ↑ Samsung has made a source release available on their Open Source Release Center website.. — 2013. — 16 August.
- ↑ exFAT file system specification Архивная копия от 19 июля 2020 на Wayback Machine, Microsoft 2008—2010, 2019 (англ.)
- ↑ Microsoft опубликовала спецификацию exFAT и одобрила её поддержку в Linux . 3DNews (29 августа 2019). Дата обращения: 3 сентября 2019. Архивировано 31 августа 2019 года.
- ↑ "Foxconn rejects Microsoft patent lawsuit, says never had to pay royalties". Reuters. 2019-03-19. Архивировано 1 августа 2020. Дата обращения: 6 июня 2020.
- ↑ Dr. Roy Schestowitz. Microsoft is Complaining About Android and Chrome OS (GNU/Linux) Vendor Not Paying for Microsoft Patents (Updated) (англ.). Techrights (12 марта 2019). Дата обращения: 6 июня 2020. Архивировано 6 июня 2020 года.
- ↑ Microsoft and Foxconn Parent Hon Hai Sign Patent Agreement For Android and Chrome Devices : пресс-релиз // Microsoft News Center. — Microsoft, 2013. — 17 April.
Литература
править- exFAT file system specification, Microsoft 2008—2010, 2019 (англ.)
Ссылки
править- TFAT Overview (англ.)
- Extended FAT File System (англ.)
- Обновление Windows XP и 2003 (KB955704) для поддержки файловой системы exFAT
- Компания-разработчик NTFS-3G подписала соглашение с Microsoft, касающиеся exFAT
- Файловая система ExFAT — универсальное решение для Mac OS X и Windows
- Сравнение Fat32, NTFS, exFAT на флэш-носителях и внешних жестких дисках