Por que os fragmentos dos discos?

18

Como parte da manutenção regular do Windows, desfragmente meu disco rígido. Mas por que o fragmento do disco rígido em sistemas NTFS e FAT *? Aparentemente ext * não, porque é isso? Devo também estar desfragmentando minhas unidades USB?

    
por Simon Sheehan 04.06.2011 / 02:55

2 respostas

22

A fragmentação não é a questão há 30 anos. Naquela época, você tinha discos rígidos que eram pouco mais rápidos que disquetes e tamanhos de memória de processador que eram minúsculos. Agora você tem drives muito rápidos e grandes memórias de processador, e às vezes buffering substancial no disco rígido ou no controlador. Tamanhos de setor adicionais ficaram maiores (ou os arquivos são alocados em blocos maiores) para que mais dados sejam inerentemente contíguos.

Os sistemas operacionais ficaram mais inteligentes também. Considerando que o DOS 1.x teria buscado cada setor do disco conforme era referenciado, um SO moderno é capaz de ver que você tem um arquivo aberto para acesso sequencial e pode prever razoavelmente que você estará buscando setores adicionais depois de consumido aqueles que você tem agora. Assim, ele pode "pré-buscar" os próximos vários setores.

E é sempre melhor não ter um arquivo contíguo. Em um sistema (grande) em que o sistema de arquivos é distribuído em várias unidades, um arquivo pode ser acessado mais rapidamente se também estiver "espalhado", já que vários discos podem estar procurando o arquivo simultaneamente.

Eu desfragjo a cada 2-3 anos, quer minha caixa precise disso ou não.

[Vou acrescentar que o importante não é tanto se os dados no disco são desfragmentados como se o espaço livre o faz. O FAT era terrível - a menos que você desfragmentasse as coisas cada vez pior, até que não houvesse dois blocos contíguos de espaço livre. A maioria dos outros esquemas pode coalescer o espaço livre e alocar peças de uma maneira um tanto "inteligente", de modo que a fragmentação atinja um certo limite e depois se estabilize, em vez de se agravar e piorar.]

    
por 04.06.2011 / 03:21
13

TODOS os fragmentos dos sistemas de arquivos. O ext e outros sistemas de arquivos Linux se fragmentam menos devido à maneira como são projetados - para citar Wikipedia sobre Guia dos administradores de rede Linux :

Modern Linux filesystem(s) keep fragmentation at a minimum by keeping all blocks in a file close together, even if they can't be stored in consecutive sectors. Some filesystems, like ext3, effectively allocate the free block that is nearest to other blocks in a file. Therefore it is not necessary to worry about fragmentation in a Linux system.

Eu observaria que o ext4 tem desfragmentação online, de modo que eventualmente a fragmentação é um problema, mesmo com sistemas de arquivos Linux.

Os sistemas de arquivos do Windows têm seus clusters colocados onde quer que haja espaço para colocá-los, e a desfragmentação é executada e substituída. Com o Linux, os arquivos são preferencialmente colocados onde há espaço suficiente.

Eu observaria, no entanto, que o Windows 7 programou execuções de desfragmentação, portanto, não é realmente necessário executar a desfragmentação manualmente.

    
por 04.06.2011 / 02:57