Você pode desfragmentar os dados armazenados em um sistema de arquivos (arquivos, estruturas do sistema de arquivos, metadados, etc.), o espaço livre ou ambos.
Provavelmente, quando alguém diz "desfragmentar", eles significam os dados (sua primeira definição). Tradicionalmente, ao desfragmentar o espaço livre, ele é colocado no final (sua segunda definição). Normalmente, você só faz isso em preparação para encolher uma partição, mas também pode fazê-lo, por exemplo, para permitir uma grande alocação contígua (digamos, você está prestes a editar alguns vídeos). Mas, na verdade, exceto pelo encolhimento de uma partição, a desfragmentação de espaço livre nem sempre é necessária.
A redução de partição geralmente só é possível em uma das extremidades (a maioria, se não todos, os formatos de partição [1] não permitem um corte no meio). Normalmente estruturas de dados do sistema de arquivos ocupam o início da partição, então encolher (e crescer) normalmente é feito no final. Não importa qual ferramenta você usa para fazer isso (gerenciador de disco do Windows, gparted, etc.), deve haver espaço livre suficiente no final - e isso geralmente requer a movimentação de dados. O Windows e o gparted farão isso.
Se um FS requer desfragmentação depende de muitas coisas, pelo menos:
- Para que é usado. Documentos aleatórios raramente usados podem tolerar a fragmentação ilimitada; Empurrando os limites Os aplicativos de DVR não podem tolerar nenhum. Algumas coisas são, na verdade, mais tolerantes à fragmentação do que você pensa, por exemplo, bancos de dados (porque geralmente estão fazendo leitura / gravação aleatória, não sequenciais).
- Que tipo de unidade é. A busca por SSDs é quase gratuita, então a fragmentação é muito mais barata.
- Quantidade de memória disponível para o cache de disco. Não importa o quão fragmentado esteja no disco, se tudo for lido e todos estiverem satisfeitos com o cache. Ou se todas as gravações puderem ser armazenadas em buffer por tempo suficiente para enviá-las ao disco em ordem.
- sistema operacional, principalmente devido a diferenças de armazenamento em cache.
- Sistema de arquivos. Alguns têm muita sobrecarga para arquivos muito fragmentados.
O principal problema com fragmentação é normalmente que ele adiciona busca ao que poderia ser uma leitura / escrita seqüencial.
1: Embora os gerenciadores de disco lógicos geralmente façam isso. Por exemplo, ao usar alocação esparsa, é típico tentar recuperar blocos suficientemente grandes de espaço não utilizado. Note, porém, que eles fingem que o espaço de arquivo não foi recuperado (e devolvem quando o sistema de arquivos quer gravar lá).