Não tenho muita desfragmentação, mas gostaria de compartilhar algumas informações sobre sua pergunta. Para a primeira parte da sua pergunta, o MSDN menciona os algoritmos de desfragmentação em seu blog:
No Windows XP, qualquer arquivo dividido em mais de uma parte é considerado fragmentado. Não é assim no Windows Vista se os fragmentos forem grandes o suficiente - o algoritmo de desfragmentação foi alterado (do Windows XP) para ignorar partes de um arquivo com mais de 64 MB. Como resultado, a desfragmentação no XP e a desfragmentação no Vista reportarão diferentes quantidades de fragmentação em um volume. Então, qual está correto? Bem, antes que a pergunta possa ser respondida, precisamos entender por que a desfragmentação no Vista foi alterada. No Vista, analisamos o impacto da desfragmentação e determinamos que os ganhos de desempenho mais significativos com a desfragmentação são quando partes dos arquivos são combinadas em pedaços suficientemente grandes, de modo que o impacto da latência de busca do disco não seja significativo em relação à latência associada à leitura sequencial o arquivo.há um ponto após o qual a combinação de pedaços de arquivos fragmentados não tem benefícios discerníveis .
Você pode ler o artigo completo aqui: Engenharia do Windows 7 - Desfragmentação de disco.
Para a segunda parte da sua pergunta, o Piriform Docs tem uma resposta:
O desfragmentador possui dois modos diferentes de desfragmentação: desfragmentação regular e desfragmentação rápida. O Quick Defrag é mais rápido, mas os resultados não são tão ideais quanto com uma desfragmentação regular.
O Quick Defrag funciona mais rapidamente, pulando arquivos que possuem determinadas propriedades. Eles são especificados na guia Desfragmentação Rápida da caixa de diálogo Opções.
A regra padrão de desfragmentação rápida é ignorar arquivos com fragmentos maiores que 50 MB.
Para melhor compreensão da desfragmentação, a Wikipedia tem uma boa página .
Uma coisa importante a ser observada: a Microsoft fornece uma API que os programas podem usar para desfragmentar arquivos com segurança. (Consulte Desfragmentar arquivos no MSDN ) Qualquer desfragmentador deve estar usando essas APIs, e a maioria faz.
Toda a "mágica" da desfragmentação vem para determinar como organizar os arquivos, e é isso que os vários programas usam para se diferenciar. Se você se acha realmente inteligente, pode usar o MyDefrag para escrever seu próprio script de layout.
fonte
Não há absolutamente nenhuma resposta. Não há algoritmo "típico". Porque cada aplicativo de desfragmentação usa seus próprios algoritmos. Certamente, pode haver uma "tendência" a ser vista entre alguns dos algoritmos mais conhecidos, mas de um modo geral não há um típico ou universal.
Pegue o MyDefrag , um aplicativo incrível, você pode, até certo ponto, escrever seus próprios algoritmos de desfragmentação.
fonte