É por meio de um sistema de arquivos que ocorre a gravação e a recuperação dos dados em um dispositivo de armazenamento em um computador.
O sistema de arquivos é independente do hardware e da BIOS, sendo especificado pelo software do sistema operacional no momento da instalação do sistema ou na configuração de dispositivos de armazenamento adicionais posteriormente à instalação. (AUGUSTO, 2005)
O sistema de arquivos do
Linux era inicialmente o sistema de arquivos do Minix. Entretanto, por causa do limite de 14 caracteres imposto aos nomes de arquivos e do tamanho máximo de 64 MB para os arquivos, houve prontamente interesse em melhorar o sistema de arquivos. A primeira melhoria foi o sistema de arquivos Ext, que permitiu nome de arquivos de 255 caracteres e arquivos de até 2GB. No entanto ele era mais lento que o sistema de arquivos do Minix motivando assim a continuidade das pesquisas. (TANEMBAUM, 2005)
Atualmente são mais de 20 sistemas de arquivos suportados pelo Linux, dentre eles os mais utilizados são o Ext3 e o ReiserFS.
O sistema de arquivos Ext3 foi desenvolvido pelo doutor Stephen Tweedie e colaboradores na Red Hat, ele seria um ext2 com recurso de journaling e passou a ser suportado na versão 2.4 do Linux. No ext3 o journal usa uma camada chamada JDB (Journaling Block Device), que utiliza um método diferente na recuperação de dados, ao invés de armazenar bytes que devem ser gravados, ele armazena blocos modificados do sistema de arquivos na memória para poder rastrear as operações que ficaram pendentes, a vantagem é que ele não precisa lidar com a complexidade de gravar bytes no journal e a desvantagem é que o journal acaba ficando maior (SILVA, 2004).
O sistema de arquivos ReiserFS foi criado por Hans Reiser especialmente para o Linux, atualmente ela é patrocinada pela SuSE e mantida pela empresa NameSys (sendo o filesystem padrão das distribuições
GNU/Linux da SuSE), o ReiserFS não utiliza blocos de tamanho fixo, mas ajusta o tamanho de acordo com o arquivo, ele e muito rápido ao ler arquivos menores.
O ReiserFS possui suporte a arquivos maiores que 2GB, o acesso a árvore de diretórios é mais rápido que o ext3, utiliza uma eficiente estrutura de dados chamada "balanced tree" ou árvore equilibrada pois, trata toda a partição como se fosse uma única tabela de banco de dados contendo diretórios, arquivos e arquivos de meta-data, isso aumenta o desempenho de aplicativos que trabalham com arquivos pequenos (são lidos em apenas um E/S do HD), em um sistema de arquivo como ext2 o espaço no disco e alocado em blocos que variam de 512 a 4096 bytes ou até maior, se o arquivo exceder um múltiplo exato do tamanho do bloco ocorrerá desperdício de espaço no disco o ReiserFS não aloca em espaços fixos ou blocos ele aloca o tamanho exato que o arquivo precisa.
O ReiserFS infelizmente não trabalha perfeitamente com o sistema de arquivos de rede NFS (Network File System), existem alguns patches para resolver o problema, mas eles não o resolvem completamente. (SILVA, 2004)