Antes de começar a falar sobre os sistemas de arquivos, temos que ter em mente o que é um sistema de arquivos.
Sistema de arquivos é uma estrutura lógica que permite armazenar informações em massa e de forma bem organizada, permitindo que um Sistema Operacional ou aplicações possam ser usadas pelo computador, assim como gravar novas informações, e essas informações possam ser acessadas posteriormente.
Um sistema de arquivos depende de estruturas de dados sobre os arquivos. Uma dessas estruturas são os metadados de dados que descrevem os dados. Cada arquivo está associado com um
inode, o qual é identificado por um número inteiro, muitas vezes referido como um número 'i-', ou número de inode.
Inodes armazenam informações sobre arquivos e diretórios (pastas), tais como a propriedade do arquivo, modo de acesso (ler, escrever, executar permissões) e tipo de arquivo. Em muitos tipos de implementações de sistemas de arquivos, o número máximo de inodes é fixado no momento da criação do sistema de arquivos, limitando o número máximo de arquivos que o sistema de arquivos pode conter.
- Posso usar Sistema Operacional, ou alguma aplicação, sem ter que aplicar um sistema de arquivos?
Não, o disco rígido que armazena as informações é formatado fisicamente pelo fabricante, e esse tipo de formatação não faz com que o disco possa armazenar informações, porém, não se consegue utilizar o mesmo, pois ainda precisa de uma estrutura lógica para utilizar todo o espaço que o disco disponibiliza.
Objetivo do artigo
Não faz parte do objetivo do artigo fazer um estudo aprofundado sobre cada sistema de arquivos abordado, mas sim, abordar as características dos mesmos, permitindo conhecer mais de cada um.
Esclarecimentos
Todo e qualquer sistema de arquivos não é ANTI-FALHAS.
O mesmo não impede que sua estrutura de dados fique corrompida ou danificada após um desligamento inesperado causado por falta de energia, ou por travamento no sistema ou aplicação, fazendo com que você seja obrigado a usar o botão de desligamento ou de reinicialização.
E após desligar ou reinicializar desta forma, pode ter certeza que seu HD logo ficará com
badblocks, principalmente se este tipo de situação acontecer constantemente. Não se impressione se o seu sistema, após um acontecimento destes, não conseguir mais ser acessado, ou precisar de reparos manuais para poder ser usado novamente.
O único sistema que ouvi falar bem quanto à tolerância de falhas, mas não cheguei a usar e nem a testar, foi o
ZFS, desenvolvido pela Sun Microsystems.
Aí você pode se perguntar:
- Mas o que é um 'badblock' e por quê o sistema pode ficar corrompido, caso aconteça o que você citou acima?
1° - Um 'badblock' é uma área danificada de um disco que não pode ser mais utilizada, pois o dano é permanente.
Este tipo de dano pode ser causado por desligamentos forçados, como por exemplo, apertar o botão de desligamento da máquina, assim como reinicialização forçada, formatações erradas, esbarrões no HD, falta de energia etc.
Quando há muitos 'badblocks', seu HD está próximo do fim de sua vida útil, pois o mesmo está com muitos problemas.
2° - O sistema de arquivos pode ficar corrompido e o SO ficar inacessível, porque algum, ou alguns dados que estejam sendo utilizados pelo sistema no momento em que acontece o que foi citado anteriormente ainda não foram salvos, fazendo com que o mesmo fique incompleto, sendo assim corrompido. E se um arquivo deste for importante para o sistema, pode fazer com que o sistema fique inacessível.
Porém, muitos dos sistemas de arquivos tem tolerância de falhas, alguns mais consistentes e robustos que os outros.
Para os sistemas de arquivos usados no
GNU/Linux, toda essa consistência tem ajuda do recurso muito utilizado que é o
Journaling.