Для ядра Linux подготовлен модуль с реализацией файловой системы exFAT (дополнено)

26 июня 2013 года

В рамках проекта exfat-nofuse создана реализация файловой системы exFAT, выполненная в форме модуля для ядра Linux. Новая реализация поддерживает работу в режиме чтения и записи и отличается от ранее доступного проекта exfat-fuse более высокой производительностью, достигнутой благодаря выполнению драйвера на уровне ядра и отказа от использования дополнительной прослойки FUSE. Драйвер протестирован с ядром 3.8.11, но пока неработоспособен с ядрами новее 3.9.0.

Лицензия, под которой распространяется код драйвера, не указана. Первая независимая реализация exFAT была подготовлена на основе обратного инжиниринга драйвера Microsoft ещё в 2009 году, но не была включена в ядро Linux из-за использования в exFAT запатентованных технологий и требования обязательного лицензирования реализаций данной файловой системы. Из легальных способов обеспечения работы exFAT в Linux и Android подготовлены реализации данной ФС от компаний Tuxera и Paragon, но это закрытые коммерческие разработки, распространяемые по контрактам с OEM-производителями и развиваемые в рамках специального соглашения с Microsoft.

Условия лицензирования exFAT накладывают определенные обязательства о неразглашении информации. Попытки компании Tuxera согласовать с Microsoft возможность создания открытого варианта реализации exFAT не увенчались успехом. Тем не менее, существует и успешно развивается открытый проект exfat-fuse, который создан без привлечения подпадающей в соглашение о неразглашении документации и спецификаций Microsoft. Несмотря на то, что формально против проектов, поставляющих exfat-fuse, может быть предъявлен иск о нарушении патентов, до сих пор компания Microsoft не предпринимала попыток давления на разработчиков и пользователей данного открытого пакета. Тем не менее разработчики дистрибутивов сторонятся поставки exfat-fuse в составе своих репозиториев. Реализация в виде модуля ядра не лишена аналогичных юридических недостатков, но устраняет основную техническую проблему exfat-fuse - низкую производительность.

Файловая система exFAT была создана Microsoft для устранения ограничений FAT32 при использовании на Flash-накопителях большого объема. Поддержка файловой системы exFAT появилась в Windows Vista Service Pack 1 и Windows XP с Service Pack 2. Максимальный размер файла по сравнению с FAT32 был расширен с 4 Гб до 16 эксабайт, устранено ограничение на максимальный размер раздела в 32 Гб, для уменьшения фрагментации и увеличения скорости введена битовая карта свободных блоков, ограничение на число файлов в одной директории поднято до 65 тыс., предусмотрена возможность хранения ACL.

Дополнение: автор репозитория на GitHub сообщил, что изначальный код драйвера не его, он просто нашёл его около месяца назад на GitHub и адаптировал для работы со свежими ядрами Linux. Драйвер изначально был создан для Android и вероятно является утечкой кода из одной из проприетарных разработок. В связи с неясным характером лицензии на драйвер, использовать его можно на свой страх и риск, так как велика вероятность нарушения чужой интеллектуальной собственности.

Источники

править


 
 
Creative Commons
Эта статья содержит материалы из статьи «Для ядра Linux подготовлен модуль с реализацией файловой системы exFAT (дополнено)», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.