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 aplicada à um meio físico de armazenamento, 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 mantém informações dos objetos
(arquivos/diretórios) armazenados no dispositivo de bloco. Cada arquivo
está associado com um
inode, o qual é identificado por um número inteiro.
Inodes armazenam informações sobre arquivos e diretórios (pastas), tais como a propriedade do arquivo, permissões (ler, escrever, executar), data de acesso, data
de modificação, localização, tipo de arquivo e etc. 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 irá armazena as informações é formatado fisicamente pelo fabricante, e esse tipo de formatação não é o suficiente para 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.