Desvendando os filesystems

Aqui vou tentar tirar a dúvida de muitos sobre qual filesystem utilizar, explicando passo a passo como um filesystem trata os arquivos e quais as principais características de cada um dos mais populares usados no Linux.

[ Hits: 52.126 ]

Por: Fabio Maran em 30/10/2007 | Blog: http://movimentolivre.zip.net


Fragmentação de arquivos e espaços



Os filesystems podem fragmentar arquivos ou espaços. A fragmentação é caracterizada por uma quebra na sequência dos dados ou do espaço livre.

Durante a gravação de um determinado arquivo em uma partição de HD, pendrive ou em um disquete, se houver a necessidade de quebrar esse arquivo em pedaços para preencher os blocos, e se esses pedaços não forem gravados em sequência, haverá uma fragmentação de arquivos.

Observem:



Os arquivos estão gravados em sequência.

Considere a hipótese de que o segundo arquivo que ocupa apenas um bloco, seja apagado neste momento:



Um novo arquivo ao chegar na partição do HD, necessitará de quatro blocos. Se o filesystem utilizado permitir a fragmentação de arquivos, parte do arquivo será colocado no primeiro bloco vazio e o restante nos próximos blocos que também estiverem vazios:



Note que devido a fragmentação de arquivos, os blocos que o armazenam não estão em sequência. Isso não é bom, pois aumentará o tempo de acesso ao arquivo, uma vez que o sistema terá que localizar todos os seus pedaços.

Isso também pode causar um desgaste do HD, uma vez que a cabeça de leitura e gravação terá de executar constantes saltos para ler ou gravar o arquivo.

Mas... se o filesystem utilizado não permitir a fragmentação de arquivos haverá a fragmentação de espaço.

Ele irá buscar um espaço contíguo grande o suficiente para colocar esse novo arquivo, evitando a quebra de sequência de dados. Veja:



A partir desta situação, se chegar um novo arquivo na partição que necessite de dois blocos para ser armazenado, ocorrerá, dependendo do filesystem, uma dessas opções:
  • O sistema poderá dizer que não há espaço suficiente em disco;
  • O sistema poderá, somente em casos como o que vimos a pouco, fragmentar o arquivo para armazená-lo (geralmente é isso que acontece com os filesystem do GNU/Linux);
  • O sistema poderá guardar o arquivo temporariamente na memória virtual.

Uma grande preocupação que os iniciantes tem é em como desfragmentar o filesystem. Ao contrário do MS Windows, os filesystems utilizados no GNU/Linux fragmentam, sempre que possível, o espaço, e não os arquivos.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. O que são filesystems
   3. Blocos
   4. Fragmentação de arquivos e espaços
   5. Filesystems "Jornal" ou "Jornaling"
   6. Fileseystems mais comuns / diferença entre Ext3 e o ReiserFS
Outros artigos deste autor

Samba: Implementando um domínio

GNOME Slacky 2.20.3

SquidGuard: Bloqueando o acesso a Web

Debian/APT- Alguns cuidados com os repósitorios

Umask para leigos

Leitura recomendada

Git - Ciclo básico de trabalho

Negação de serviço: Implementação, defesas e repercussões

LVM completo e sem mistérios

Ativando suporte ao NTFS no RedHat9 sem recompilar o kernel

Usando partições e sistemas de arquivos

  
Comentários
[1] Comentário enviado por rafastv em 30/10/2007 - 13:48h

"Assim, estão equivocados as pessoas que dizem que existem programas que copiam dados de um HD para outro, por exemplo, byte a byte ou bit a bit."

Hum, que eu saiba existem diversos programas que realizam este tipo de operação(dd, cmp, etc)...mesmo que enquanto que para os dispositivos de bloco tenhamos um tamanho mínimo de setor a ser acessado, uma vez que o arquivo esteja carregado na memória RAM, o computador não irá copiar bytes ou bits vazios de um setor para o outro disco rígido ou dispositivo de memória, logo a denominação cópia byte a byte ou mesmo bit a bit está correta sob minha perspectiva. Dependendo é claro do programa que estamos utilizando, pois existem programas de espelhamento do disco rígido, mas mesmo assim acredito que estes não copiem os bits ou bytes vazios, apenas o conteúdo dos setores individualmente.

Cordialmente,

[2] Comentário enviado por rafastv em 30/10/2007 - 14:22h

Um artigo interessante que achei sobre desfragmentação no Linux,

http://www.whylinuxisbetter.net/items/defragment/index_br.php

Se você já sabe o que é fragmentação, e tem o costume de desfragmentar o seu disco regularmente, aqui está a versão curta: o Linux não precisa de desfragmentação.

Agora imagine que o seu disco rígido é um armário enorme, com milhões de gavetas (obrigado a Roberto Di Cosmo por essa comparação). Cada gaveta pode guardar uma quantidade fixa de dados. Assim, os arquivos que são maiores do que essas gavetas podem suportar, precisam ser divididos. Alguns arquivos são tão grandes que eles precisam de milhares de gavetas. E claro, acessar esses arquivos é muito mais fácil quando as gavetas que ocupam estão próximas uma das outras no armário.

Agora imagine que você seja o dono desse armário, mas você não tem tempo de cuidar dele, e você quer contratar alguém para tomar conta dele para você. Duas pessoas vêm para o emprego, uma mulher e um homem.

* O homem tem a seguinte estratégia: apenas esvazia as gavetas quando um arquivo é removido, divide qualquer novo arquivo em partes menores, do tamanho de uma gaveta, e aleatoriamente guarda cada parte na primeira gaveta vazia disponível. Quando você menciona que isso torna difícil encontrar todas as partes de um determinado arquivo, a resposta é que uma dúzia de garotos devem ser contratados todo fim de semana para reorganizar as coisas.
* A mulher tem uma técnica diferente: tem anotado, num pedaço de papel, as gavetas vazias contíguas. Quando um novo arquivo chega, ela procura em sua lista por uma sequência suficientemente longa de gavetas vazias, e é onde o arquivo é colocado. Deste modo, contanto que haja atividade suficiente, o armário estará sempre arrumado.

Sem dúvida nenhuma, você deve contratar a mulher (vocês sabem disso, as mulheres são muito mais organizadas :)). Bem, o Windows usa o primeiro método; o Linux usa o segundo. Quanto mais você usa o Windows, mais lento fica o acesso a arquivos; quanto mais você usa o Linux, mais rápido ele fica. A escolha é toda sua!

[3] Comentário enviado por rafastv em 30/10/2007 - 14:24h

Ótimo artigo, só gostaria que houvessem alguns comandos e não fosse apenas teórico :)

[4] Comentário enviado por pop_lamen em 30/10/2007 - 14:36h

Muito BOM! Técnico, objetivo e completo.
Parabéns,

So faltou cobrir um pouco as estruturas de referências, inodes, ponteiros etc...

Mas muito bom!
Abraços!

[5] Comentário enviado por maran em 30/10/2007 - 17:04h

valeu ...

bom é mesmo esqueci essa parte de referências e inodes...

bom sobre não ter comando...
o artigo que montei é para você entender a estrutura como age e qual escolher...não adianta eu por um monte de comandos sendo que o publico alvo do artigo é quem nunca teve contato ocm um fylesystem...
bom uma parte masi pratica viria depois de etender como ele funciona...

Te Mais e valeu a todos pelos comentarios, pois assim estarei sempre melhorando...

[6] Comentário enviado por ederaldo7 em 31/10/2007 - 04:24h

Muito Bom artigo muito objetivo e claro

Parabens
Abraços!!!!

[7] Comentário enviado por brunaocomanda em 31/10/2007 - 08:30h

Bom artigo...
Queria complementar citando uma diferença muito importante entre EXT3 e ReiserFS: O EXT3 faz um jornaling completo, ou seja, ele "loga" além dos metadados do arquivo, o arquivo em si. Assim, em caso de pane, ele é capaz de recuperar todos os dados gravados até o ultimo momento naquele arquivo. Isso o torna mais lento também. Já o ReiseFS, gera informações somente dos metadados do arquivo (localização, tamanho de bloco e etc), não sendo capaz de recuperar o conteúdo do arquivo!

[8] Comentário enviado por calaff2 em 31/10/2007 - 10:08h

muito bom esse artigo :) Parabens !!

[9] Comentário enviado por tenchi em 31/10/2007 - 13:07h

Legal o artigo. Bom mesmo.
Mas só achei estranho você sempre falar filesystem.
Não é querendo ser patriota, mas esta palavra tem uma boa tradução pata pt_BR: sistema de arquivos, ora bolas! hauahua

Já mandei para favoritos.

[10] Comentário enviado por maran em 31/10/2007 - 21:09h

verdade ne poderia ter sido mais patriota kkkkkkk

valeu te mais

[11] Comentário enviado por adrianoturbo em 01/11/2007 - 08:28h

Muito legal o artigo sobre sistemas de arquivos,só quero acrescentar que agora a Distribuição Linux Ubuntu pode ser instalada no sistema de arquivos NTFS que já um grande avanço .
No mais parabéns pelo artigo técnico.

[12] Comentário enviado por maran em 01/11/2007 - 14:27h

avanço acho isso a decadencia, sistemas de arquivos NTFS FAT , sao piores que Ext2...


[13] Comentário enviado por vodooo em 26/06/2008 - 10:44h

Ae rafastv, adorei essa sua comparação cara! rsrsrs

Simplesmente perfeita, assim como as mulheres, ops, o Linux! rsrs

Abração

[14] Comentário enviado por xerlok homer em 01/03/2009 - 16:09h

Gostei do armário, realmente as mulheres são mais organizadas
falo isso por experiência própria, se vcs olharem meu guarda roupas vão perceber isso

tópico muito bom, simples e direto, não seria mais direto nem se cuspissem ma minha cara =)


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts