Sistemas de Arquivo

Arquivo são as informações gravadas em seu computador um arquivo pode conter um texto ou imagem ou até mesmo um vídeo enfim, entenda informações gravadas no seu computador, como aquelas que podem estar gravadas num CD ou disquete ou no disco rígido (HD) de seu computador, ou numa Pen Drive.

O que é um sistema de arquivos? Simplificando para quem não sabe, é o tipo de armazenamento de arquivos de um sistema operacional. Ou seja, é a forma com que funcionam os arquivos, a criação deles, a sua remoção e por aí vai.

Existem vários tipos de sistemas de arquivos para sistemas operacionais diferentes. No MS-DOS por exemplo, o sistema era FAT16. Depois com versões posteriores do Windows, veio o FAT32 e o NTFS. No Linux, há alguns sistemas de arquivos disponíveis, como por exemplo: ext2, ext3, ReiserFS, JFS, XFS. Cada um com suas características.

A característica mais importante nos sistemas de arquivos atuais é o Journaling. Com o Journaling, seus arquivos ficam mais seguros (não corrompem) quando há queda de energia por exemplo. Das que eu citei, apenas o ext2 não tem essa característica (o ext3 é o ext2 com journaling).

Em toda instalação, o programa geralmente pede que tipo de sistema de arquivos você quer. Na dúvida ou nas primeiras vezes, você pode utilizar o ext3, que é o padrão na maioria das distribuições Linux.

Leitura Complementar

1. Arquivos

Um dos conceitos mais importantes são os arquivos de um sistema operacional. Nos arquivos estão as informações guardadas de forma organizada. Os arquivos são uma entidade, como uma arquivo de imagem que guarda dentro de si as definições de como compor as informações visuais.
No Linux não é necessário ter extensões, neste caso deve-se saber qual aplicativo gerou este arquivo para poder abri-lo mais tarde. Mas afinal o que são extensões de arquivo veja o exemplo do seguinte nome de arquivo com a sua respectiva extensão:

Monografia.doc

Monografia é o nome do arquivo no qual o usuário digitou já o   .doc indica que o programa que gerou este arquivo foi o editor de texto (Word).
Os arquivos recebem nomes contendo caracteres maiúsculas  e minúsculas, números e outros caracteres. Mas alguns caracteres são proibidos na nomenclatura de arquivos, são eles: ?,*,|.,/,\ ,”,:,<,>. Mas além desses deve evitar os caracteres acentuados,cedilhas e espaços em branco. Note que eles são permitidos mas podem não fazer sentido mais tarde.
É recomendado que se use palavras sem acentos, o cedilha seja substituído por um cê normal e os espaços por . ou _ .  

1.1 Arquivos Binários

Nestes arquivos são armazenadas informações que, podem ser lidas por um programa, não fazendo nenhum sentido se interpretados com arquivos textos. Entre eles temos os arquivos de imagens, som, vídeo, registros de um banco de dados, programas, gráficos, etc.
O motivo pelo qual não é usado texto para tudo é que texto é de fácil compreensão para humanos, mas para máquinas é muito ineficiente ler estas informações textuais. E como se deseja performance na leitura da máquina, não nossa, grava-se as informações na forma binária, seqüência de bits 0 e 1.

1.2 Arquivos textos

Os arquivos textos são usados para geração de arquivos onde a intervenção humana se faz necessária, exemplo arquivos de configuração do sistema, que é lido somente no momento de ligar a máquina (boot), e que por algum motivo precisa ser aberto pelo administrador do sistema para efetuar algum ajuste e necessário que este arquivo seja na forma de texto, para poder se compreendido por um ser humano.

1.3 Outras informações do arquivo

Cada arquivo possui as seguintes informações: permissão, proprietário (quem criou  o arquivo), grupo do proprietário, tamanho , data da última modificação, horário da última modificação e seu nome.  (Aguarde isto será abordado nos próximos capítulos).

1.4 Sistemas de Arquivos

Os sistemas de arquivo (FAT, NTFS, EXT2, ReiserFS) determinam como estes arquivos serão gravado fisicamente no disco rígido. Portanto teremos sistemas de arquivos que oferecem algumas vantagens e desvantagens principalmente com relação a integridade dos dados, velocidade de acesso etc.
No Linux os principais sistemas de arquivos são (EXT2, EXT3, ReiserFS)

O ext2 é um sistema de arquivos de disco de alta performance usado nativamente pelo Linux para dispositivos de armazenamento, como discos rígidos e mídias removíveis.

O sistema de arquivos second extended Filesystem (ext2) foi desenhado como uma extensão de extended Filesystem (ext). O ext2 oferece a melhor performance (em termos de velocidade e uso da CPU) entre todos os sistemas de arquivos suportados pelo Linux.

O sistema de arquivos EXT3 é uma evoluçăo do sistema de arquivos EXT2, que foi originalmente desenvolvido por Stephen Tweedie, Rémy Card e Theodore Ts'o e outros.

Usuários experientes de Linux sabem que o sistema possui excelente performance no gerenciamento de dados, tanto no que diz respeito ao armazenamento, quanto nas alocações e atualizações de informações. Dentre vários, um dos grandes responsáveis por tanta eficiência é o sistema de arquivo ext3, que passou a ser integrado definitivamente ao Linux (kernel) a partir da versão 2.4.

ReiserFS é um sistema de arquivos que pode ser usado em um sistema Linux, como FAT é usado no Windows.

Criado por Hans Reiser e mantido pela empresa “The Naming System Venture”. O ReiserFS é um dos sistemas de arquivos com suporte a "journaling" mais rápidos na atualidade e suporte a arquivos maiores que 2 Gigabytes (esta é uma das limitações do ext3). São seus patrocinadores as empresas SuSE e Linspire.

Este é um sistema de arquivos alternativo ao ext2 e ext3.

1.5 Afinal o que é o  journaling?

O Journaling é um recurso suportado por alguns sistemas de arquivos, entre eles o EXT3, suportado pelas distribuições do Linux baseadas no Kernel 2.4 ou mais atual (o EXT3 é o sucessor do EXT2, usado em distribuições baseadas no Kernel 2.2 ou anterior). Basicamente, o sistema de arquivos mantém um journal (ou log) onde são armazenadas todas as mudanças feitas em arquivos do disco. Quando qualquer erro inesperado surge, ou o sistema é desligado incorretamente é possível localizar todas as operações que não haviam sido completadas, restaurando a consistência do sistema de arquivos sem a necessidade de vasculhar arquivo por arquivo, como faz o scandisk do Windows ou o FSCK no Linux.