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

    Помню школьные годы, когда на каждом «реаниматоре» неотъемлемой частью был 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:
    Поддержать автора
    Поделиться публикацией

    Комментарии 13

      +1
      а почему ее нет в appstore?
        +1
        Ее нет в App Store, т.к. Apple запрещает размещение приложений, в которых:
        • требуются права администратора
        • требуют установки kernel extension (драйвера)

        Наш продукт нарушает эти правила “by desing”
        +2
        Однобоко выходит. Конечно, Paragon рулит, но есть ведь ещё встроенная в OS X экспериментальная (уже сколько лет) поддержка NTFS. Да, требует от пользователя определённых манипуляций с /etc/fstab, не поддерживает некоторые вещи, но в целом для простых нужд вполне юзабельная.
        LABEL=MyDrive none ntfs rw,auto,nobrowse

        MyDrive — лэйбл диска с NTFS. Для тех, кто пользуется NTFS раз в месяц годится вполне. Да и вбить туда все свои диски/флешки с NTFS надо по одному разу и пользуйся сколько хочешь.
        Из вопросов разработчикам Paragon NTFS хочу задать как раз вопрос про эту встроенную поддержку: чем Paragon круче, если не считать удобства использования и возможности форматирования разделов? Полагаю, что скоростью и работой с аттрибутами файлов, но это лишь мои догадки. ;)
          +2
          Ваши догадки абсолютно верны, плюс ко всему, в неопытных руках манипуляции с fstab могут привести к неприятным последствиям.
          0
          Подскажите, как софтина называется на скриншоте «пруф»?
            0
            1Password
            0
            А в чём отличии от Tuxera NTFS (вроде как на Fuse работает)?
              +2
              В первую очередь — скорость. Paragon пусть на немного, но быстрее всех остальных, что имеет большое значение, когда приходится часто копировать большие объемы данных.
                0
                Пересылаю:
                "Главное отличие от Туксеры: более низкое потребление CPU (1-3% при копировании большого кол-ва данных, против ~10% у Туксеры).
                Ну и производительность, прежде всего:
                Результаты сравнения производительности есть тут:
                https://www.paragon-software.com/home/ntfs-mac/index.html
                Benchmark tests"
                0
                Слышал от кого-то что Paragon NTFS изначально базировался на OSX FUSE и потом уже стал развиваться самостоятельно. Пожалуйста, опровергните или подтвердите :)
                  0
                  Тоже приобрел этот продукт, но после того как сохранил текстовый документ в TextEdit и по привычке 3-4 раза подряд нажал ⌘+S.
                  С жесткого диска пропал этот документ. При этом если через консоль зайти в директорию и прочитать этот документ —
                  в консоле будет I/O Error. Собственно поле этого удалил софт и форматировал диск в в HFS Ext.
                  Теперь скорость увеличилась в разы и таких проблем я больше не наблюдал.
                  Диск: SSHD 2000 Gb Seagate Barracuda, 3.5", 64Mb, SATA III
                    +1
                    Как-то раз я тоже столкнулся с такой проблемой, и Paragon NTFS принес много радости доступом к записи на диски.
                    Но не долго длилась радость, после записывания гигабайта другого, и нескольких перезагрузок я выявил что некоторых папок перенесенных с дисков мака на NTFS просто нет.
                    Я их записал опять, и они исчезли после перезагрузки вновь.
                    Перегрузился в Windows и там все папки были видны, но удалить ни копировать данные было невозможно, чекдиск не помогал.
                    В итоге из-под мака папок не было видно, а из-под винды были видны но не читабельны.
                    На этом мое знакомство с Paragon NTFS закончилось, а таблицу разделов исправило только ее пересоздание.
                    По мне так такое удобство "записи NTFS дисков из-под Mac" не стоит риска и затраченного времени на попытки восстановить данные.
                    Вопрос к разработчикам:
                    Сколько по вашему мнению осталось не исправленных багов которые могут привести к порче данных на дисках NTFS?
                      +1
                      Специалисты конечно не поймут, что в программе с интерфейсом есть гуй, а NTFS реализован через драйвер. Спасибо, что рассказали.

                      А как оно работает? Как работает NTFS? Почему Apple не дает это из коробки? Почему возникают ошибки, о которых пишут здесь в комментариях? Почему оно быстрее чем у конкрентов? Где, простите, описание нутра в стиле качественной статьи на хабре с кодом, архитектурными проблемами, решениями, а не в стиле аннотации к курсовой работе с перечислением компонентов и их названий, проведенных работ? Больше мяса, коллеги.

                      P.S. вопрос про развитие продукта был скорее к маркетологической части. Changelog, признаюсь, достаточно неинтересен тем, кто не «сильно в теме». Как вы увидели потребность и решили инвестировать в разработку? Сколько стоила первая версия? Сколько тратили на рекламу? Когда отбили? Сколько установок в месяц? Собираете метрики с установленных экземпляров? Вас крякают? Почему разрабатываете обновление, не боитесь риска, что в новой ОС вдруг появится нативная поддержка? Хорошая была бы статья на мегамозг.

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                      Самое читаемое