Как стать автором
Обновить

Вопросы разработчикам Paragon NTFS for Mac

Время на прочтение5 мин
Количество просмотров12K
Помню школьные годы, когда на каждом «реаниматоре» неотъемлемой частью был Paragon Partition Manager. О виртуальных машинах мы еще только мечтали, и чтобы поставить несколько операционок, школьникам приходилось «резать» полуторагигабайтный диск.

«Есть внешний жесткий диск и 2 тачки (одна на Win, вторая на OS X). Доступ к диску нужен с обеих машин.»

Сейчас, когда школьники обзавелись бородами, животами, детьми и зеркалками (не болезнями, а фотоаппаратами), встает проблема, как на горячо любимый виндовый терабайтник, на котором куча фоток с выпускного и сохранялок с Fallout 2, залить много нового видео с Mac`a, на котором стоит сверхзаботливый El Capitan («В целях вашей безопасности мы лишим вас некоторых прав. Начнем с прав root`а.»).

Когда я учился в универе на первых курсах, до нас доходили слухи, что физтехи русифицируют Palm и пишут под него софт, вот на днях мне выпал шанс пообщаться с людьми, которые, возможно, к этому были причастны.



На Гиктаймсе в комментарии к статье про NTFS for Mac kukkk «задал» разработчикам Paragon два вопроса:
  • Как вы развивали этот продукт
  • Как устроен этот продукт

Я решил немного «поднажать» и поискать ответы из первых рук.

Задавайте уточняющие вопросы в комментах или в личку, я передам их разработчикам.

Вот что мне удалось накопать про NTFS for Mac.
(Paragon NTFS for Mac — драйвер с поддержкой OS X El Capitan, который позволяет форматировать, проверять и исправлять ошибки разделов NTFS.)

Как устроен продукт


Продукт состоит из нескольких компонентов:

Filesystem bundle (.fs), бандл файловой системы, который, в свою очередь, состоит из:
  • kernel extension (драйвер файловой системы)
  • утилиты (mount, newfs, fsck, util). Утилиты обеспечивают возможность определять, монтировать, форматировать, проверить и исправлять файловую систему NTFS

Префпанель (панель настроек). Это основной GUI продукта. Префпанель обеспечивает:
  • базовые настройки продукта (нотификации, активация, включение/выключение драйвера)
  • базовые операции с разделами (format, mount,verify/repair, set as startup)
  • возможность полного удаления продукта

Центра обновления продукта (Paragon Updater). Специальный компонент, проверяющий наличие обновлений и обеспечивающий апгрейд продукта в пару кликов.

Небольшая историческая справка


Первая версия продукта была выпущена, когда актуальной OS X являлась 10.4 Tiger. На тот момент в OS X не было даже поддержки NTFS на чтение (начиная с 10.5 OS X умеет монтировать разделы NTFS в режиме рид-онли). На тот момент наш продукт состоял только из драйвера и пользователям предлагалось монтировать разделы вручную через вызов утилиты монтирования.

В дальнейшем в продукте появился полный набор утилит для совместимости с diskarbitrationd (сервисом, который обеспечивает автоматическое монтирование и сервисные операции с разделами). Начиная с этого момента разделы монтировались в RW автоматически, а у пользователей появилась возможность использовать Disk Utility для проверки/починки или создания новых NTFS разделов.

Следующим этапом стало появление панели настроек. Наши настройки оформлены не отдельным приложением, а панелью настроек чтобы подчеркнуть полную интеграцию продукта с OS X. Речь идет о том, что мы постарались максимально «правильно» встроиться в OS X. Т.е. чтобы OS X управлялась с разделами NTFS «как с родными» через все доступные для пользователя интерфейсы.

Далее был проведен серьезный аплифтинг самого драйвера:
  • Была добавлена поддержка extended attributes (EA), чтобы избежать появления на NTFS разделе большого кол-ва ._ файлов. Если у драйвера файловой системы отсутствует поддержка EA, то OS X эмулирует поддержку этих атрибутов создавая для каждого файла ._ файл содержащий эти атрибуты.
  • Поддержка non roman characters. Была переработана подсистема кодировок, чтобы обеспечивать правильный формат хранения файлов с именами в non roma кодировках.
  • Улучшена работа сервисов на NTFS разделах (индексирование содержимого, расшаривание папок на NTFS томе и т.п.)


Следующим ключевым этапом явилась поддержка 64-битных версий OS X. Драйвер претерпел серьезные изменения в связи с появлением новой архитектуры (OS X 10.6 — 10.7)

Затем Apple добавил требование специальной подписи для kernel extension. Мелочь, но на этом этапе нам пришлось держать в пакете несколько версий драйвера, т.к. старые OS X не поддерживали подписанные версии.

Последней «сложной» интеграцией стала интеграция с актуальной OS X 10.11 El Capitan.
В этой версии OS X появилась принципиально новая фича: System Integrity Protection. Помимо прочего, эта фича ограничила сторонним разработчикам доступ на запись в большинство системных каталогов. Т.е. «основа» операционной системы теперь остается закрытой от модификации, что гарантирует пользователю стабильность ее работы.
Однако, как это часто бывает, для сторонних разработчиков в момент внедрения этой фичи были не готовы альтернативные локации. На этапе бета-тестирования OS X 10.11 требования менялись от версии к версии, а полной совместимости OS X со сторонними файловыми системами не появилось и по сей день.

В первую очередь, пропала возможность интегрировать сторонние файловые системы в Disk Utility. ЧТобы предоставить пользователям возможность осуществления базовых операций со своими NTFS разделами, мы добавили этот функционал на нашу префпанель.

На данный момент мы работаем над сильно обновленной версии самого драйвера (kernel extension). Версии OS X выходят с завидной регулярностью, а вместе с ними обновляются и SDK и поддерживаемые фичи. Мы разрабатываем драйвер, который будет написан исходя из требований актуальных OS X без оглядки на совместимость с устаревшими версиями OS X. Это позволит нам получить дополнительный прирост в производительности (и экономии ресурсов пользователя). Хотя, стоит сказать, наш драйвер и на данном этапе обеспечивает великолепную производительность примерно равной производительности родного HFS+ драйвера.

Стоит также отметить, что все наши драйверы файловых систем, включая Paragon NTFS for Mac 14, основаны на единой кроссплатформенной технологии Paragon UFSD (Universal File System Driver), которая поддерживает все основные актуальные файловые системы.

Маркетологи отжигают


Многие «не хотят нести деньгу paragon у за софтину, которой пользуются раз в месяц» и экспериментируют с исходниками
Для предыдущей версий OS X (10.10 и 10.9) на Хабре были инструкции «Подключаем NTFS на запись в Mac OS X Yosemite 10.10» и Монтируем диски NTFS для записи в MacOS X 10.9 Mavericks.

" Boomburum: Давно пользуюсь этой штукой, в числе первых ставлю при переустановке макоси — удобная. Может выделите ключиков, раздадим хорошим пользователям? )"
пруф
image

Я поговорил со знакомыми, они сказали, что продукт хороший, сам себя хвалит, но маркетологи неуемные, форсируют вирусный эффект.

Вся маркетологовая движуха происходит на Гиктаймсе


исхитряются как могут







P.S.


Пока есть возможность, задавайте содержательные вопросы разработчикам, дабы было больше полезных статей на Хабре.

Статьи от специалистов Paragon:
Теги:
Хабы:
Всего голосов 10: ↑10 и ↓0+10
Комментарии13

Публикации

Истории

Ближайшие события

15 – 16 ноября
IT-конференция Merge Skolkovo
Москва
22 – 24 ноября
Хакатон «AgroCode Hack Genetics'24»
Онлайн
28 ноября
Конференция «TechRec: ITHR CAMPUS»
МоскваОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань