Neste post, vamos explicar o que são esses dois sistemas de arquivos e por que eles são importantes para o desempenho e a durabilidade dos dispositivos de armazenamento baseados em flash, como SSDs, cartões SD e pendrives.
EROFS significa Enhanced Read-Only File System, ou Sistema de Arquivos Somente Leitura Aprimorado. Como o nome sugere, é um sistema de arquivos que não permite a escrita de dados, apenas a leitura. Isso pode parecer uma limitação, mas na verdade tem algumas vantagens. Por exemplo, um sistema de arquivos somente leitura é mais resistente a corrupções, vírus e ataques maliciosos, pois não pode ser modificado sem permissão especial. Além disso, um sistema de arquivos somente leitura pode ser comprimido para ocupar menos espaço e oferecer maior velocidade de leitura.
EROFS foi desenvolvido pela Huawei e é usado principalmente em smartphones Android. Ele é otimizado para dispositivos com memória flash NAND, que é o tipo mais comum de memória usada em celulares. EROFS permite que o sistema operacional e os aplicativos sejam armazenados em uma partição somente leitura, enquanto os dados do usuário ficam em outra partição que pode ser escrita. Isso melhora a segurança, a eficiência e a vida útil da memória flash.
F2FS significa Flash-Friendly File System, ou Sistema de Arquivos Amigável ao Flash. É um sistema de arquivos que permite a escrita e a leitura de dados, mas que é projetado para se adaptar às características dos dispositivos de armazenamento baseados em flash. Diferentemente dos discos rígidos tradicionais, que usam partes mecânicas para acessar os dados, os dispositivos de flash usam células eletrônicas que podem se desgastar com o tempo e com o número de operações de escrita. Por isso, é preciso ter cuidado para não sobrecarregar essas células e distribuir as operações de escrita de forma uniforme pelo dispositivo.
F2FS foi desenvolvido pela Samsung e é usado em vários dispositivos Android, como tablets, smartwatches e TVs. Ele também é compatível com outros sistemas operacionais, como Linux, MacOS e Windows. F2FS usa um algoritmo chamado log-structured file system, ou sistema de arquivos baseado em registro, que grava os dados em blocos sequenciais, evitando a fragmentação e a sobrescrita dos dados antigos. F2FS também usa técnicas como garbage collection, wear leveling e trim para gerenciar o espaço livre e prolongar a vida útil do dispositivo.
EROFS e F2FS são dois sistemas de arquivos que chegarão no Linux Kernel 6.6, que é a próxima versão do núcleo do sistema operacional Linux. O Linux Kernel é responsável por gerenciar os recursos do hardware e fornecer uma interface para os programas rodarem. Ao incluir esses dois sistemas de arquivos, o Linux Kernel poderá oferecer um melhor suporte aos dispositivos de armazenamento baseados em flash, melhorando o desempenho, a segurança e a durabilidade desses dispositivos.