O que são os sistemas de arquivos no Android? F2FS vs. EXT4
Hoje falaremos de um tema bem técnico, os sistemas de arquivos no Android. Sabe o que são e a diferença entre os dois principais sistemas? Veja abaixo.
O sistema de arquivos (filesystem) é o componente dentro do sistema operacional encarregado de administrar e usar as memórias do dispositivo. Sua principal função é designar espaço aos arquivos e administrar o espaço livre restante, bem como gerenciar o acesso aos dados protegidos.
Sistemas de arquivos no Android
A estrutura dos arquivos num disco rígido ou memória flash costuma estar ordenada de forma hierárquica. É raro que os encontremos de forma linear ou plana. Para indicar o local de um arquivo, costuma-se usar uma “cadeia de texto”. A nomenclatura pode mudar em função do sistema utilizado, mas quase sempre deve-se seguir uma mesma estrutura, já conhecida por todos, XXX/YYY, nomes de pastas separados por barras, da esquerda para a direita em ordem de importância.
No Android temos dois sistemas de arquivos, EXT4 e F2FS. Quais são as suas diferenças?
EXT4 no Android
Quarto sistema de arquivos extendido, ou em inglês “fourth extended filesystem”, é um sistema de arquivos transacional criado por Andrew Morton em 2006, como uma melhora ao EXT3. No dia 25 de dezembro de 2008 se publica o kernel Linux 2.6.28 que o torna oficial, deixando assim a fase de testes.
Este sistema de arquivos é capaz de trabalhar com tamanhos muito maiores, já que pode mover arquivos de até 16 TB. Também existe a possibilidade de criar até 64.000 subdiretórios, o dobro da capacidade do EXT3.
A desfragmentação também foi otimizada neste sistema de arquivos, que torna possível desfragmentar arquivos individualmente. Não é mais necessários desmontar o disco para desfragmentar o sistema de arquivos inteiro.
Este sistema de arquivos é o usado pela maioria dos dispositivos Android.
F2FS no Android
A sigla significa em inglês “Flash-Friendly File System”. Trata-se do sistema de arquivos criado por Kim Jaegeuk na Samsung para o núcleo Linux (em que se baseia o Android). Ele foi criado de forma específica para ter em conta os dispositivos de armazenamento Flash, ou seja, a forma de memória da grande maioria dos smartphones. Os nossos celulares trazem uma memória de estado sólido, ou SSD, além de cartões SD, em ambos os casos com tecnologia flash.
EXT4 vs. F2FS
Androguide.fr, um dos usuários mais ativos do XDA Developers, realizou diversos testes em que compara ambos os sistemas de arquivos para saber qual é o melhor e o mais rápido.
Para o processo, ele realizou testes de benchmark mais comuns (Quadrant, AnTuTu, RL Bench, entre outros), num mesmo celular (um Sony Xperia Z1) utilizando um sistema de arquivos diferente a cada vez. Para produzir resultados confiáveis, ele seguiu uma metodologia muito rigorosa, reproduzida a seguir:
- Wipe Data e instalação da CyanogenMod;
- Instalação dos Google Apps atualizados para a última versão;
- Instalação de aplicativos adicionais (Pimp my Z1, Disk Info, apps de Benchmark);
- Reboot do dispositivo pouco antes de cada benchmark e ativação do modo avião.
Em certa medida, os resultados surpreendem. O F2FS ganha do EXT4 em quase todas as medições. Isso siginifica que quase todos nós estamos usando o sistema de arquivos mais “lento”. o F2FS é aproximadamente cinco vezes mais rápido do que o EXT4 na hora de acessar as bases de dados e ao realizar escrituras aleatórias (os dois processos mais comuns no Android). O EXT4 só mostra vantagem na leitura sequencial, trabalhando 20% mais rápido do que o F2FS.
Apenas os dados do Xperia Z1 são conhecidos, e por isso não podemos afirmar categoricamente que o F2FS é melhor do que o EXT4. Para isso, testes com mais aparelhos (sobretudo mais modernos) seriam necessários. De todo modo, temos uma indicação de que os dispositivos Android podem ficar ainda mais eficientes. Para mais informações, confira o tópico correspondente do XDA Developers.
Já conhecia o sistema de arquivos do Android?
Queria saber qual tipo de sistema de arquivo do : Android 4.0 , andoid 5.0 , andoid 6.0
Alguém sabe se é possível converter a partição do sistema de f2fs para ext4 sem precisar reinstalar a rom?
O Moto G já vem com F2FS por padrão. A versão GPE usa Ext4 mas pode rodar com F2FS desde que vc esteja usando um kernel customizado.
Otimo post Androidpit,pena o Zen5 ser EXT4...
Excelente matéria! Acompanho o fórum pelo Twitter e vcs são bom de mais! Excelentes matérias, e imparciais. Coisa difícil de se encontrar! ( ainda não vi nada que me prove contra) Parabéns a todos vcs!
Ótima matéria Android Pit :)
Como mudo meu sistema de arquivos? 😱
Wallace primeiro você tem que ver se a rom que você esta utilizando tem suporte ao sistema de arquivos para qual deseja fazer a alteração, e fazer a alteração via recovery, recomendo TWRP.
Agora para adicionar o suporte, é necessário uma nova compilação de kernel e alteração em sua ramdisk.
parabéns pela matéria Android Pit
Bem legal a iniciativa de trazer esse tipo de informação para o publico "normal".
alguém pode me informar se tem como eu saber qual dos dois sistemas meu smart usa?
baixa o DiskInfo na play store, nele mostra qual o sistema de arquivo vc está usando :-)
Estava pesquisando sobre isso... kkkkkk
vlw ANDROIDPIT!
Boa matéria.
Uso Linux desde Ubuntu 9.04 (2009 portanto), atualmente tenho um iMac e um notebook com Windows 8.1 e Linux Mint 17.1 (baseado no Ubuntu 14.04), Android usa o coração do linux, o kernel, então não há muito mistério pra quem usa linux saber dessas coisas.
Quem quiser começar a usar Linux, recomendo Linux Mint 17.1 Cinnamon.
Falando em distro linux, hoje foi lançado uma nova versão daquele Android para PCs, Android-x86 4.4-r2.
Bem para os principiantes é bom !!