O que é um Sistema de Arquivos (File System)
Sistema de Arquivos
Um Sistema de Arquivos é um sistema utilizado para armazenar, organizar e acessar dados em um computador de forma efetiva. Os dispositivos que utilizam sistemas de arquivos são discos rígidos, mídias ópticas como CDs e DVDs, cartões de memória e pendrives (flash drives) e discos flexíveis (disquetes), entre outros.
Um sistema de arquivos permite o armazenamento organizado de arquivos, agregando características a cada arquivo como um nome, permissões de acesso, atributos especiais e um índice, que é uma lista de arquivos na partição que informa onde cada arquivo está localizado no disco. Assim, o sistema operacional é capaz de encontrar o arquivo em seu local de armazenamento rapidamente.
Os arquivos podem ser acessados em um dispositivo de armazenamento por meio de interface gráfica ou linha de comandos. Ambas as interfaces podem interagir com o sistema de arquivos empregado.
As principais funções de um sistema de arquivos são:
- Gerenciamento de arquivos
- Navegação pela estrutura de diretórios
- Acesso a arquivos e pastas
- Recuperação de dados
- Armazenamento de dados
Particionamento e Formatação
O espaço nos dispositivos de armazenamento é dividido em seções denominadas “partições”, e cada partição deve ser formatada com um sistema de arquivos para que seja possível gravar dados nela. O processo de formatação é, basicamente, a configuração de um sistema de arquivos de um determinado tipo no dispositivo.
Existem diversos sistemas de arquivos diferentes que podem ser utilizados para organizar os arquivos em um sistema. Cada um organiza os dados de uma forma distinta. Alguns são mais rápidos (para listar ou armazenar os dados), outros possuem um nível de segurança maior, outros são mais adequados a drives removíveis ou a mídias somente-leitura.
Cada sistema operacional utiliza um tipo de sistema de arquivos (ou vários). Por exemplo, o sistema operacional Windows tende a utilizar o sistema de arquivos NTFS para gerenciar o armazenamento de dados do sistema e arquivos e programas de usuários, mas ele é capaz de acessar dados gravados em outros tipos de sistemas de arquivos, como FAT32 ou exFAT, por exemplo.
Durante a instalação de um sistema operacional, as partições são formatadas automaticamente (no geral) com o sistema de arquivos que se julga mais adequado para aquele sistema. Em muitos casos é possível escolher outros tipos de sistemas de arquivos para formatar uma partição, utilizando ferramentas adequadas.
Sistemas que são acessados através de uma rede também podem ter sistemas de arquivos especiais, assim como sistemas de bancos de dados, que podem utilizar sistemas de arquivos específicos e proprietários, projetados especificamente para as necessidades do banco de dados em questão.
A figura a seguir mostra a janela do utilitário GParted, utilizado para particionar e formatar discos no Linux:
E na figura seguinte, a ferramenta de Gerenciamento de Disco do Windows:
Classificação dos sistemas de arquivos
Podemos classificar os sistemas de arquivos em uso atualmente em quatro grandes grupos:
- Sistemas de arquivos de Disco
- Sistemas de arquivos de Redes
- Sistemas de arquivos de Bancos de Dados
- Sistemas de arquivos de propósito especial
Exemplos de sistemas de arquivos
A tabela a seguir traz uma série de sistemas de arquivos, significado de seus nomes (geralmente siglas) e características gerais resumidas para cada um deles:
Sistema de Arquivos | Significado da sigla | Características Básicas |
BFS | Be File System | Sistema de arquivos utilizado no antigo BeOS. Suporta atributos de arquivo estendidos, fornecendo funcionalidades de indexação e pesquisa similares às de um banco de dados relacional. É case-sensitive (diferencia maiúsculas de minúsculas), e pode ser aplicado a qualquer dispositivo de memória física. |
EFS | Encrypting File System | Armazena os arquivos em um formato criptografado no sistema NTFS para garantir a confidencialidade dos dados. Para isso, utiliza criptografia de chave pública, o que torna praticamente impossível decriptar os arquivos sem o conheco=imento da chave correta. |
ext | Extended File System | Sistema de arquivos projetado para suplantar algumas limitações do antigo sistema de arquivos do Minix. Foi rapidamente substituído pelo sistema ext2. Suporta nomes de arquivos com até 14 caracteres de comprimento. |
ext2 | 2º Extended File System | Este é um sistema de arquivos utilizado no Linux, que foi o padrão por muito tempo. Não é um sistema que possui journal (log de operações). Ele resoleu alguns problemas inerentes ao sistema anterior, o ext, como modificação de inodes e de timestamps de arquivos. |
ext3 | 3º Extended File System | Trata-se basicamente do sistema ext2 com alguns acréscimos, tais como journaling e índices de diretório H-tree. |
ext4 | 4º Extended File System | Suporta volumes com até 1 exbibyte (EiB) de tramanho, e arquivos com até 16 tebibytes (TiB). É retrocomatível com os sistemas ext2 e ext3; permite pré-alocar espaço em disco para arquivos 9antes de gravá-los).Permite um número ilimitado de subdiretórios. |
FAT | File Allocation Table | As partições formatadas com o sistema FAT são divididas em clusters, cujos tamanhos dependem do tamanho da tabela de alocação utilizada. Existem diversos tipos de sistemas FAT, como FAT12, FAT16 e FAT32, diferindo entre si pelo número máximo de arquivos indexáveis, basicamente. |
HFS+ | Hierarchical File System Plus | Desenvolvido pela Apple para computadores com o sistema operacional Mac OS. Esse sistema substitui o HFS original, utilizando estruturas de árvore B-tree para armazenar dados, permitindo nomes de arquivo com até 255 caracteres de comprimento e utilizando uma tabela de mapeamento de alocação de 32 bits. |
ISO 9660 | Padrão publicado pela ISO, é usado para descrever um sistema de arquivos para CD-ROMs e DVDs, o qual suporta diferentes sistemas operacionais para a troca fácil de dados. | |
JFS | Journaled File System | Sistema criado pela IBM, foi lançado com a primeira versão do sistema operacional AIX. Fornece escalabilidade, possui suporte a computadores com vários processadores e pode executar diversos sistemas operacionais distintos. |
NFS | Network File System | Sistema desenvolvido pela Sun Microsystems, permite que computadores cliente acessem arquivos na rede de forma rápida e muito facilitada, como se o dispositivo de rede estivesse conectado localmente na estação. Possui segurança reforçada e, apesar de ter sido criado originalmente para o Unix, pode ser utilizado com outros sitemas operacionais, como o Linux. |
NTFS | New Technology File System | Sistema projetado pela Microsoft especificamente para o Windows NT e versões posteriores de seus sistema operacional. Permite fácil recuperação de arquivos, áreas de armazenamento de grande tamanho e nomes de arquivos longos. |
procfs | Process File System | Trata-se de um pseudo sistema de arquivos, utilizado em sistemas derivados do UNIX. É utilizado, basicamente, para obter informações de processos a partir do kernel. Ele não consome nenhum espaço em disco! |
ReiserFS | Reiser File System | Sistema de arquivos de propósito geral desenvolvido para o sistema operacional Linux. Efetua journal apenas de metadados, permite redimensionamento online de espaço e reduz a fragmentação interna de arquivos. |
UDF | Universal Disk Format | Utilizado principalmente para mídias ópticas, como DVD, CD-R e CD-RW. Suporta arquivos grandes, maiores capacidades de disco e mais informações sobre arquivos e pastas individuais. Além disso, suporta propriedades de arquivo especiais e outros dados de sistema operacional. |
UFS | Unix File System | Usa uma estrutura de dados especial denominada “ramo de árvore invertido”. Fornece controle de acesso em níveis de arquivo e de diretório. Também fornece um sistema de arquivos flexível que apresenta os dispositivos (de hardware) como sistemas de arquivos em si. |
XFS | Sistema de arquivos com journaling de alta performance que realiza journaling apenas de metadados, permite redimensionamento online (aumentar o tamanho do espaço), desfragmentação online e outros recursos para alto desempenho. | |
ZFS | Zettabyte File System | Integra gerenciamento de volumes lógicos no sistema de arquivos, sendo comatível tanto com sistemas big-endian quanto little-endian. Também oferece integridade de dados e verificação de corrupção dos dados, e libera espaço vazio em arquivos ou blocos utilizados por arquivos de tamanho pequeno. |
Nas próximas lições vamos estudar mais afundo alguns dos sistemas citados aqui, e mostraremos também como formatar sistemas operacionais com sistemas de arquivos específicos.
Quer aprender tudo sobre Montagem e Manutenção de Computadores? Minha dica é o livro Montagem de Micros, 3ª Edição, de Gabriel Torres, que você pode adquirir em formato digital com preço promocional clicando na imagem a seguir:
Excelente artigo. E bem redigido. Parabéns.
Obrigado João!