Significados de desfragmentação e quando é necessário

2

Parece haver dois significados de desfragmentação:

  • Desfragmentação é um processo que reduz a quantidade de fragmentação. A fragmentação ocorre quando o sistema de arquivos não pode ou não alocará espaço contíguo suficiente para armazenar um arquivo completo como uma unidade, mas coloca partes dela em intervalos entre outros arquivos.
  • Quando no Windows, se tentarmos liberar o espaço livre existente de um partição ntfs (para depois criar uma nova partição especialmente durante instalação dual boot do Ubuntu, além de um sistema operacional Windows existente), teremos que usar ferramentas do Windows para mover todos os arquivos para um fim da partição e deixar espaço livre na outra extremidade do particionar o máximo possível. Eu ouvi isso também é chamado desfragmentação .

    Alternativamente, as ferramentas do Linux, como o GParted, podem liberar espaço livre de uma partição ntfs sem desfragmentação (no sentido de parágrafo anterior, não no sentido do primeiro parágrafo), o partição ntfs primeiro.

Perguntas:

  1. Gostaria de saber se os dois tipos de "desfragmentação" acima sempre acontecem juntos?
  2. Faz com que um sistema de arquivos (por exemplo, ntfs) precise que a desfragmentação dependa de

    • o sistema operacional no qual ele foi usado (por exemplo, Windows ou Linux) ou
    • o tipo de sistema de arquivos (por exemplo, ntfs)?
  3. As respostas às perguntas são diferentes para diferentes significados de desfragmentação (como mencionado anteriormente)? Por exemplo, ouvi isso,

    • no Linux, a desfragmentação no primeiro sentido não é necessária em uma partição ext4, a menos que uma partição esteja ocupada em mais de 90%, porque o Linux sempre tenta desfragmentar automaticamente.
    • Liberando espaço livre de uma partição ntfs usando a ferramenta Linux O Gparted não precisa fazer desfragmentação na partição ntfs no segundo sentido, e é porque o Linux sempre move automaticamente todos os arquivos para uma extremidade da partição como tanto quanto possível?
por Tim 29.12.2014 / 21:02

1 resposta

4

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á).

    
por 29.12.2014 / 22:18