Sterownik NTFS jądra vs NTFS-3G

18

Bardziej wyczerpujące pytanie, ponieważ straciłem dostęp do drugiego.

Chciałbym poprosić o usunięcie drugiego, a nie tego, ponieważ nie powinien on być migrowany w pierwszej kolejności.

Obecnie dostępne są dwa sterowniki NTFS dla systemu Linux.

Sterownik NTFS zawarty w jądrze oraz sterownik NTFS-3G przestrzeni użytkownika, który wykorzystuje FUSE.

Według wszystkich kont, NTFS-3G działa idealnie.

Moje pytanie brzmi zatem, czy jeśli system plików NTFS został pomyślnie poddany inżynierii wstecznej, dlaczego zespół NTFS jądra nie zaimplementował zmian w swoim sterowniku? W tej chwili jest nadal oznaczony jako eksperymentalny i istnieje duża szansa, że ​​zniszczy twoje dane.

Uwaga: nie ma to absolutnie nic wspólnego z dystrybucjami ...

Jacek
źródło

Odpowiedzi:

24

Niestety jest to powszechny problem z projektami społecznościowymi.

Gdy społeczność zidentyfikuje poważny problem, pojawiają się projekty, aby go rozwiązać. W tym przypadku problemem jest wykorzystanie NTFS FS.

Linux-NTFS (sterownik FS jądra), Najpierw został stworzony, a po pewnym czasie rozwój został zatrzymany. IMO to zły wybór, zasługiwał na pierwszeństwo i nadal tak jest. Ten sterownik jest stabilny, tylko do odczytu, tak długo, jak robiłem Linux (ponad pół dekady). To rozwiązuje tylko połowę problemu, więc społeczność szukała gdziekolwiek się da.

Captive NTFS (Driver Wrapper dla NTFS.SYS) był stosunkowo łatwiejszy do utworzenia. Tyle kodu istniało już w innych projektach. Głównym powodem, dla którego społeczność się przyglądała, było to, że NTFS.SYS nie jest wolnym oprogramowaniem.

NTFS-3G (Bezpiecznik) został spoliczkowany i jest w pełni funkcjonalny. Projekt ma siłę handlową firmy Tuxera. Ten projekt rozwiązuje pierwotny problem korzystania z NTFS z Linuksa. Tuxera oferuje zastrzeżony sterownik jądra NTFS klasy premium, który podkreśla, dlaczego społeczność musi ukończyć Linux-NTFS.

Tak więc przy pierwotnym rozwiązanym problemie społeczny protest ostygł. Co może być niefortunne, ponieważ wiele razy poprawne wdrożenie nigdy się nie kończy. Kiedy o tym myślę, Tuxera faktycznie chronił swoją zastrzeżoną implementację NTFS jądra. Utworzenie gorszego sterownika FUSE ostudziło nacisk na solidnie działający sterownik jądra GPL.

Teraz, aby wyjaśnić, jestem wielkim entuzjastą / projektantem społeczności. Zdarza mi się też być krytykiem, bez umiejętności programowania jądra. FUSE ma wiele zalet, szczególnie dla specjalnych sterowników FS. Zimne, twarde fakty wciąż istnieją, sterowniki Kernel FS zapewniają znacznie lepszą wydajność. Pisanie sterowników jądra zajmuje znacznie więcej czasu / talentu, niż porównywalna implementacja FUSE. W obu przypadkach (czas od utalentowanych programistów społecznościowych) zawsze brakowało zapasów.

Mam nadzieję, że to wyjaśnia obecną sytuację w zakresie obsługi NTFS w systemie Linux.

JM Becker
źródło
1

To kwestia pierwszeństwa. Wybór jednej rzeczy oznacza, że ​​coś innego nie zostanie zrobione. ntfd-3g działa dobrze, więc dotknięcie sterownika jądra ma bardzo niski priorytet.

Ignacio Vazquez-Abrams
źródło
2
Tyle, że są napisane przez całkowicie odrębne projekty, a na pewno ważne jest, aby jądro miało sterownik, który faktycznie działa?
Jack
Fakt, że są to odrębne projekty, nie ma znaczenia. W rzeczywistości jest to gorsze, ponieważ musisz znaleźć kogoś, kto ma zarówno wiedzę na temat modułu systemu plików jądra, jak i wiedzę NTFS, aby móc napisać sterownik jądra.
Ignacio Vazquez-Abrams,
1
Nie, to nie jest bez znaczenia. W chwili obecnej jądro nie obsługuje zapisu NTFS, jeśli jest to wyraźnie możliwe. Zamiast tego potrzebne jest rozwiązanie innej firmy. Twoja odpowiedź jest podobna do powiedzenia, po co zawracać sobie głowę rozwijaniem Gnome, kiedy KDE dobrze sobie z tym radzi. Nie jest to trafna analogia, ponieważ zarówno gnome, jak i KDE są w pełni funkcjonalne, ale masz rację ...
Jack
3
Nie rozumiesz sedna sprawy. Istnieje wiele zalet posiadania działającego sterownika NTFS w jądrze, bez konieczności polegania na sterowniku przestrzeni użytkownika innej firmy. W każdym razie odpowiedź na moje pytanie nie brzmi „ponieważ ntfs-3g działa bardzo dobrze”. Jeśli masz Projekt X i Projekt Y, obaj mają ten sam wspólny cel, a Projekt Y otrzymuje swój pierwszy, Projec X nie zamierza się poddać. W rzeczywistości zbyt często widzimy przeciwieństwo tego.
Jack
1
What would a kernel driver do that a FUSE driver wouldn't?: Zwolnij procesor dla innych procesów w systemach wbudowanych, nie ustawiając go na 100% . Widzieć Ubuntu , Mageia , Ubuntu , ArchLinux , openSUSE itp.
Amit Naidu
1

właściwie zadałem sobie dzisiaj to pytanie. oto moje naprawdę mgliste i nie-eksperckie zrozumienie tego.

ntfs3g nie jest tak naprawdę sterownikiem, to aplikacja. wykorzystuje FUSE (system plików w przestrzeni użytkownika) jako interfejs i jest wieloplatformowy. więc chociaż sterownik ntfs jądra mógłby zaimplementować metody używane przez ntfs3g (czy nie są tego pewne), działałby w przestrzeni użytkownika, co nie podlega jurysdykcji jądra.

... był to dosłownie wniosek oparty na jednym zdaniu, które przeczytałem. jak to brzmi dla każdego, kto faktycznie kształcił się na ten temat? =)

tak naprawdę myślę, że idę na blog. = D.

musasabi
źródło
Tak, wersja NTFS-3G jest taka wolna w porównaniu z natywnym ntfs.sys w systemie Windows.
user2284570