Lo sviluppatore coreano Park Ju Hyung, specializzato nella portabilità dei firmware Android per diversi dispositivi, una nuova versione del driver per il file system exFAT — , che è un fork del driver «sdFAT», dalla Samsung. Attualmente, nel ramo staging del kernel Linux è già presente il driver exFAT di Samsung, ma è basato su una vecchia base di codice (1.2.9). Attualmente, Samsung utilizza nei suoi smartphone una versione totalmente diversa del driver «sdFAT» (2.2.0), dal quale è derivata la sviluppazione di Park Ju Hyung.
Oltre al passaggio alla base di codice attuale, il driver proposto exfat-linux si distingue per la rimozione delle modifiche specifiche di Samsung, come la presenza di codice per lavorare con FAT12/16/32 (questi dati FS sono supportati in Linux da driver separati) e un deframmentatore incorporato. La rimozione di questi componenti ha permesso di rendere il driver portabile e adattabile al kernel standard di Linux, e non solo ai kernel utilizzati nei firmware Android di Samsung.
Lo sviluppatore ha anche semplificato l'installazione del driver. Gli utenti di Ubuntu possono installarlo da , e per gli altri sistemi operativi è sufficiente scaricare il codice e eseguire «make && make install». Il driver può anche essere compilato insieme al kernel Linux, ad esempio nella preparazione di firmware per Android.
In futuro si prevede di mantenere il driver aggiornato, trasferendo le modifiche dal codice sorgente principale di Samsung e portandolo per le nuove versioni del kernel. Attualmente, il driver è stato testato con kernel a partire dalla versione 3.4 fino alla 5.3-rc su piattaforme x86 (i386), x86_64 (amd64), ARM32 (AArch32) e ARM64 (AArch64). L'autore della nuova versione del driver ha proposto agli sviluppatori del kernel di considerare l'inclusione del nuovo driver nel ramo staging come base per il driver exFAT standard del kernel, anziché il recente e obsoleto modello aggiunto.
I test di performance hanno mostrato un incremento della velocità delle operazioni di scrittura utilizzando il nuovo driver. Posizionando la partizione in ramdisk: 2173 MB/s contro 1961 MB/s in lettura/scrittura sequenziale, 2222 MB/s contro 2160 MB/s in accesso casuale, e posizionando la partizione in NVMe: 1832 MB/s contro 1678 MB/s e 1885 MB/s contro 1827 MB/s. La velocità delle operazioni di lettura è aumentata nel test di lettura sequenziale in ramdisk (7042 MB/s contro 6849 MB/s) e nella lettura casuale in NVMe (26 MB/s contro 24 MB/s)


Fonte: opennet.ru
