Poniedzielnik: wieści ze świata OpenSource. Numer 82 13


Wieści ze świata Open Source: 15 – 22 stycznia 2013

Po CES 2013 naprawdę nie mam o czym pisać. Chyba największym wydarzeniem ostatniego tygodnia jest ukończenie prac nad sterownikiem dla systemu plików exFAT. Ironicznie, przysłuży się to Microsoftowi. AMD pod naporem klientów aktualizuje swój sterownik „Legacy” dla kart serii HD 2000-4000, zaś Nvidia aktualizuje sterownik serii 310 dla osób nie chcących aktualizować swoich sterowników do wersji 313. Mało materiału? Będzie więc felieton.

Otwartoźródłowy Sterownik exFAT w końcu zostaje wydany.

Systemy plików FAT miały i ciągle mają kiepską prasę. Ograniczone, gubiły dane po utracie zasilania, mało wydajne, nie wspominając o potwornej fragmentacji. Ale to były inne czasy, inne potrzeby. Microsoft skonstruował NTFS dla zastosowań serwerowych ale użytkownicy desktopów szybko go podchwycili – głównie za sprawą niesławnego Windows Milenium i użytkowników wolących instalować w jego miejsce Windows 2000.

Z czasem systemy plików FAT (w wersji 32) ostały się tylko na przenośnych kluczach USB, a to ze względu na kompatybilność z każdym sprzętem. FAT32 nie był tak trudny w implementacji, nie był otoczony patentową otoczką, mała wydajność tego systemu plików nie przeszkadzała gdyż porty USB i tak były wąskim gardłem. Z czasem jednak Microsoft uznał, że skoro ma system plików na desktopach, to dobrze byłoby mieć i system plików dla dysków przenośnych. Najlepiej taki, za który producenci sprzętu płaciliby dużo w ramach umów licencyjnych.

Tak narodził się koszmar zwany EXtended File Allocation Table – albo jak kto woli FAT64. Jasne, miał wszystkie bajery, sensowną wydajność itp. Miał też liczne wady, takie jak stosunkowo duże użycie RAM-u przez sterownik i przede wszystkim bardzo skomplikowaną strukturę, niezmiernie utrudniającą odtworzenie sterownika. Brak publicznie dostępnej dokumentacji też nie pomagał.

 Jakie było założenie tego systemu plików? Producenci odbiorników DVB, odtwarzaczy DVD, kin domowych, telewizorów, rzutników multimedialnych itp dołączą do swoich urządzeń port USB, wykupią od Microsoftu sterownik dla exFAT aby móc czytać z pendrivów z tym systemem plików. Trochę tu akcja marketingowa nie wyszła, gdyż producenci kluczy USB i dysków przenośnych nie chcieli domyślnie formatować swoich urządzeń w tym systemie plików. A dlaczego? Bo Microsoft w swoich Windowsach zapomniał dodać obsługę exFAT.

exFAT został zaprezentowany światu w listopadzie 2006 roku wraz z premierą Windows CE 6.0 – systemu którego i tak nikt nie używał. Dwa miesiące później wydano następcę Windows Millenium, czyli Windows Vista. Oczywiście Vista nie miała sterowników dla exFAT. Dopiero Service Pack 1, wydany rok po premierze Visty, przyniósł obsługę tego systemu plików. Najpopularniejszy w owym czasie system Microsoftu – Windows XP – otrzymał wsparcie dla exFAT dopiero w 2009 roku.

Oczywiście trochę przenośnych dysków domyślnie sformatowanych na exFAT pojawiło się na rynku. I zaczęły się żale na wszystkich forach pomocy technicznej (zarówno windowsowych, jak i linuksowych). Najlepsze remedium na problemy z exFAT? Sformatować dysk na coś sensowniejszego. Nich to będzie nawet NTFS, pasujący do przenośnych dysków i kluczy USB jak pięść do oka. Ale nie zawracaj nam głowy exFAT.

Oczywiście istniały inne implementacje exFAT. Najbardziej znana była komercyjna wersja dystrybuowana przez firmę Tuxera i przeznaczona dla urządzeń wbudowanych. Oczywiście środowisko OpenSource nie byłoby sobą, gdyby nie spróbowało napisać własnego sterownika. I oto mamy sterownik fuse-exfat. Fuse to sterownik linuksowy pozwalający tworzyć systemy plików w przestrzeni użytkownika. Fuse zostało stworzone do eksperymentów z własnymi systemami plików, dla studentów i uniwersytetów. Prosta implementacja teorii w praktyce, bez grzebania się w w jądrze systemu. A potem ktoś wpadł na pomysł, że w ten sposób można napisać obsługę innych systemów plików. Sterowniki takie nie trafią do głównej gałęzi kernela ze względu na obwarowania licencyjne i patentowe. Ale użytkownik może z nich korzystać. Tak powstały sterowniki dla NTFS, ZFS czy właśnie ostatnio exFAT. Wraz ze sterownikiem umożliwiającym odczyt i zapis z exFAT pojawiły się też narzędzia do jego obsługi – zakładanie partycji, defragmentacja, sprawdzanie spójności itd.

We wstępniaku napisałem, że ironicznie może się to przysłużyć Microsoftowi. W długim okresie użytkownicy mogą zacząć wymagać od producentów audio-video aby odczytywały pendrivy w exFAT (na ten moment jedynie Sony i Panasonic mają wykupioną licencję od Microsoftu). A ci będą musieli wydać okrągłą sumkę na dokumentację i licencję.

Źródła
Informacje o wydaniu fuse-exfat 1.0.0
h-online
Wikipedia

W skrócie

W akcji Humble Indie Bundle 7 sprzedano w sumie 395,953 zestawów gier za łączną sumę 2,651,543.61 dolarów

AMD wypuściło nowe sterowniki Catalyst dla Linuksa. Wersja 13.1 działa z najnowszym X.orgiem (1.13) i najnowszym Ubuntu (12.10), zwiększa wydajność gier działających na silniku Source oraz naprawia kilkanaście błędów znalezionych od wydania poprzedniej wersji. Jednocześnie AMD zaktualizowało też sterownik Catalyst „Legacy” dla starszych kart graficznych Radeon HD 2xxx, 3xxx i 4xxx. Sterownik ten nie umożliwia uruchomienie najnowszego X.org Server 1.13 na tych kartach.

Odświeżono stronę wyszukiwania pakietów Ubuntu.


Skomentuj VoY Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

13 komentarzy do “Poniedzielnik: wieści ze świata OpenSource. Numer 82

  • flamenco108

    Czegoś nie rozumiem. Po moich nieudanych próbach wdarcia się na obraz systemu w systemie plików YAFFS nabrałem przekonania, że flashowe „dyski” w rzeczywistości utrzymują dane w jednym z flashowych systemów plików (<a href="http://en.wikipedia.org/wiki/List_of_flash_file_systems#File_systems_optimized_for_flash_memory.2C_solid_state_media"YAFFS, JFFS etc.), a po podłączeniu gwizdka do kompa niejako „tłumaczą” to na stary FAT32, bo to prościutki system plików, który każdy system praktycznie czytać potrafi. Jeżeli przeformatujesz go na NTFS, to tak naprawdę zmieniasz tylko zewnętrzny sposób reprezentacji danych.

    Czyżbym się pomylił, w całości lub w części? Może Twój wywód dotyczy tylko martwych pendrive-ów, bo już urządzenia z jakimiś tam systemami (np. czytniki e-papierowe, to właśnie na obraz systemu jednego z nich próbowałem się wedrzeć) robią, jak rzekłem? Patrzę na Kindla, pokazuje mi się FAT32, to samo na pendrivie. A przecież na Kindlu mam jakiegoś Linuxa. Co prawda do systemu wejścia nie mam, może ten FAT32 dotyczy tylko fragmentu pamięci flash na oddzielnej kości, przeznaczonego do zapisu przez usera? No, nie wiem, ale chętnie przeczytałbym jakieś podsumowanie tematu.

  • makson

    @Dwimenor
    „ext64” to albo jakiś żart, którego nie zrozumiałem, albo błąd.

    exFat/Fat64 to jest już trup, chociaż sam o tym może jeszcze nie wiedzieć. Rynek systemów wbudowanych (od telewizora po DVD) jest absolutnie opanowany przez Linuksa. Z drugiej strony Android staje się preferowanym systemem dla konsumentów. Nikt nie chce płacić Microsoftowi i jak gigant Samsung zabiera się za robienie systemu plików dla Linuksa na pamięci Flash – F2FS (Flash-Friendly File System), to nie robi tego z nudów, ale ma zamiar wprowadzić go w życie.
    Wszyscy się na pewno zgadzamy, że FAT32 nie może pozostać domyślnym systemem dla pendrivów…

  • marcin

    [quote post=”19016″] Dwa miesiące później wydano następcę Windows Millenium, czyli Windows Vista.t[/quote]

    Vista nie był następcą Millenium…

  • PiotrM

    [quote comment=”52531″]”Ironicznie, przysłuży się to Microsoftowi”
    Chyba „Jak na ironię…”[/quote]
    Masz rację, to kalka językowa, po polsku zgrzyta. Czasem można użyć o nieco innym zabarwieniu znaczeniowym: „paradoksalnie”.

  • PiotrM

    FUSE to warstwa abstrakcji niż sterownik. Warstwa abstrakcji „mapująca” dowolną strukturę danych na VFS (wirtualny system plików) danego systemu operacyjnego. Dzięki temu mapowaniu, odbywającemu się w przestrzeni użytkownika stąd w nazwie (U)ser (S)pace, można bezpiecznie (dla programów działających w przestrzeni jądra) zarządzać samą strukturą jak i danymi. Są np. „aplikacje” FUSE dla baz danych albo zasobów internetowych, jak również dla obrazów systemów plików (czasem zwanych, nie zawsze poprawnie „plikopartycjami”).

    Dopiero „aplikacja” FUSE, która zarządza podmontowaną plikopartycją, widoczną w systemie jako urządzenie, może być traktowana jako *sterownik* urządzenia (wirtualnego).

    Podsumowując, FUSE jest sterownikiem tylko w takim sensie, jak standard ODBC jest bazą danych (czyli właściwie wcale).

  • VoY

    Dobrze by było stworzyć jakiś otwarty sterownik, który będzie konkurencją dla FAT64 i będzie go można doinstalować w Windows, Linux, MacOSX i na czym ktokolwiek chce?