Lo sviluppatore coreano Park Ju Hyung, specializzato nella portabilità dei firmware Android per vari dispositivi, una nuova edizione del driver per il file system exFAT — , che è un ramo del driver «sdFAT», dalla compagnia Samsung. Attualmente nel ramo staging del kernel Linux è già il driver exFAT di Samsung, ma è basato su una vecchia base di codice (1.2.9). Al momento Samsung utilizza nei suoi smartphone una versione completamente diversa del driver «sdFAT» (2.2.0), da cui è derivata lo sviluppo di Park Ju Hyung.
Oltre al passaggio a una base di codice attuale, il driver exfat-linux proposto si distingue per la rimozione delle modifiche specifiche per Samsung, come la presenza di codice per lavorare con FAT12/16/32 (questi sistemi di file sono supportati in Linux da driver separati) e il deframmentatore integrato. La rimozione di questi componenti ha reso il driver portabile e adattabile per il kernel Linux standard, e non solo per i kernel utilizzati nei firmware Android di Samsung.
Lo sviluppatore ha anche lavorato per semplificare l'installazione del driver. Gli utenti di Ubuntu possono installarlo da , mentre per le altre distribuzioni è sufficiente scaricare il codice ed eseguire «make && make install». Il driver può anche essere compilato insieme al kernel Linux, ad esempio nella preparazione di firmware per Android.
In futuro è previsto di mantenere il driver aggiornato, trasferendo modifiche dalla base di codice principale di Samsung e portandolo per nuove versioni del kernel. Attualmente, il funzionamento del driver è stato testato con kernel da 3.4 a 5.3-rc su piattaforme x86 (i386), x86_64 (amd64), ARM32 (AArch32) e ARM64 (AArch64). L'autore della nuova variante 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, invece della variante obsoleta recentemente aggiunta.
I test di prestazioni effettuati hanno mostrato un aumento della velocità nelle operazioni di scrittura con il nuovo driver. Quando il partizione è collocata nel ramdisk: 2173 MB/s contro 1961 MB/s in I/O sequenziale, 2222 MB/s contro 2160 MB/s in accesso casuale, e quando la partizione è collocata 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
