Nos anos recentes a tecnologia tem evoluído de forma acelerada mas, infelizmente, não homogênea: há campos em que a evolução é muito mais intensa que em outros. Por exemplo (e de acordo com dados obtidos em artigo de Steven Sinofsky sobre melhorias introduzidas em Windows 7): nos últimos vinte anos os microprocessadores tornaram-se quase três milhões de vezes mais rápidos. Já a densidade de dados dos discos magnéticos aumentou menos de quatro mil vezes enquanto sua velocidade de rotação aumentou ridículas quatro vezes, o que fez com que o tempo de espera para que um cluster seja localizado pela cabeça de leitura/gravação se reduzisse em não mais que três vezes. Uma evolução quase um milhão de vezes menor que a experimentada pelas UCPs.
Tudo isto, aliado ao grande crescimento da capacidade dos discos magnéticos (esta, da ordem de aproximadamente mil vezes nos mesmos vinte anos), fez com que os discos rígidos passassem a conter cada vez mais dados que levam cada vez mais tempo para serem lidos. E isto independentemente do fato de seus arquivos estarem ou não fragmentados.
O resultado deste evidente descompasso entre UCPs e discos levou ao desenvolvimento de pesquisas visando otimizar a transferência de dados entre disco e memória. O que resultou em duas tendências paralelas.
A primeira busca reduzir ao mínimo as operações de entrada/saída, diminuindo o número de vezes que o sistema emite comandos de leitura ou escrita em discos. A segunda visa aumentar ao máximo a quantidade de dados transferidos em cada uma destas operações. E é fácil entender por que. Pois para efetuar uma operação de leitura ou escrita no disco é preciso atuar sobre partes mecânicas, cujo movimento, comparado com a rapidez com que são executadas as operações de natureza puramente eletrônica, parece ser feito em câmara lenta (na verdade, lentíssima: o tempo médio de acesso à memória é da ordem de dez nanossegundos enquanto os acessos aos mais rápidos discos magnéticos modernos é da ordem de dois a cinco milissegundos, o que faz com que acessos ao disco sejam em média quatrocentas mil vezes mais lentos que à memória). Ora, reduzindo o número de acessos a disco e aumentando a quantidade de dados transferidos por acesso reduz-se significativamente a perda de tempo.
Os sistemas de arquivos dos modernos sistemas operacionais foram desenvolvidos considerando estas tendências. Por exemplo: imaginemos que o usuário solicite a gravação de um arquivo de, digamos, 5 MB. E suponhamos que nas proximidades do início do disco existam diversos trechos livres nos quais este arquivo poderia ser gravado em fragmentos. Pois bem: o sistema NTFS, adotado por Windows Vista e 7, simplesmente ignora estes pequenos trechos e segue procurando o primeiro trecho vago onde o arquivo caiba inteiro para gravá-lo ali, evitando fragmentá-lo.
Note que os trechos “desprezados” não serão desperdiçados: se, mais adiante, o usuário mandar gravar um arquivo que caiba em um deles, ele será ocupado. E, com o aumento da capacidade dos discos modernos, torna-se cada vez mais fácil encontrar trechos vagos de capacidade suficiente para gravar arquivos sem fragmentá-los.
O resultado de tudo isto é que nos sistemas operacionais modernos como Windows 7 e Vista a probabilidade de fragmentação é significativamente menor, já que o próprio sistema procura evitar que ela ocorra.
É claro que o grau com que a fragmentação se manifesta varia bastante em função de fatores diversos, como a capacidade do disco, consumo de espaço em disco e, sobretudo, a forma pela qual se usa o micro. Por exemplo: discos magnéticos de um computador usado principalmente para navegar na Internet e acessar redes sociais tendem a se fragmentar muito menos que os de um micro usado para administrar uma pequena empresa.
Tendo em mente estes fatos as equipes de desenvolvimento de Windows se debruçaram sobre o problema e fizeram algumas mudanças no sistema. Por exemplo: na análise de um disco para desfragmentá-lo, um grande arquivo (grande mesmo!) distribuído em fragmentos maiores que 64 MB, é simplesmente ignorado. Isto porque agrupar fragmentos deste tamanho iria requerer mais esforço e tempo do que simplesmente acessá-los quando necessário, portanto inclui-los em uma operação de desfragmentação não traria qualquer benefício.
Como resultado destas mudanças, discos magnéticos de micros que rodam Windows Vista ou 7 e são usados em operações consideradas normais e corriqueiras costumam apresentar um grau de fragmentação bastante baixo. Por isto os desenvolvedores de Vista resolveram simplesmente fazer com que a operação de desfragmentação desaparecesse. Explicando melhor: ela continuaria sendo feita regularmente, porém de forma automática e sem a intervenção do usuário, que sequer teria uma interface para fazê-la.
Os usuários chiaram. E com razão. Tanta, que o retorno desta interface foi justamente uma das alterações efetuadas em Windows 7. Procure: menu Iniciar >> Todos os Programas >> Acessórios >> Ferramentas do Sistema >> Desfragmentador de disco. Um clique ali fará surgir uma janela semelhante à da figura, a interface do desfragmentador de discos do Windows 7.
O Desfragmentador de Win7
Repare nela. Abaixo de “Agendamento” aparece a informação que a “desfragmentação agendada” está ativada para ser executada toda quarta-feira à 1:00h (e se você mantiver este agendamento, não se esqueça de deixar seu micro ligado na noite de terça-feira, não na da quarta – e nem vou me dar ao trabalho de explicar porque). Mas se não lhe agrada deixar o micro ligado à noite ou, por qualquer razão, prefere alterar a frequência, data, hora ou discos a serem desfragmentados, clique no botão “Configurar agendamento” e escolha os parâmetros que mais lhe apetecerem. E esqueça. No dia e hora agendados Windows 7 desfragmentará os discos escolhidos e nem se dará ao trabalho de avisar.
Eu sugiro que, em Windows 7, você aja exatamente assim. Mas se preferir comandar diretamente o serviço, nada lhe impede de clicar no botão “Analisar disco” e, se a análise indicar que o grau de fragmentação é maior que, digamos 2% ou 3%, clique em “Desfragmentar agora” e aguarde.
Não espere grandes firulas. O desfragmentador de Windows 7 não exibirá barras coloridas ou refrescâncias equivalentes: mostrará apenas uma singela porcentagem que vai sendo atualizada ao longo do tempo. Mas, acredite: é mais eficiente que qualquer outro.
No que diz respeito à desfragmentação de discos em Windows 7, isto é tudo o que você precisa fazer. Mas há mais coisas que deve saber, sobretudo caso se sinta tentado a usar programas de terceiros que apresentam uma interface mais “bonitinha”.
A mais importante é que, apesar de sua interface espartana, o desfragmentador de Windows 7 (e Vista) foi desenvolvido levando em conta as peculiaridades internas do sistema. E faz coisas que os desfragmentadores de terceiros são incapazes de fazer.
Uma delas é desfragmentar diversos discos simultaneamente, o que diminui bastante o tempo total de desfragmentação em máquinas com mais de um disco magnético. Outra é o fato de conseguir mover com segurança certos arquivos que os demais programas consideram inamovíveis (como os arquivos de “metadados” do sistema de arquivos NTFS).
Ora, o simples fato de poder mover mais arquivos permite que o desfragmentador libere um número significativamente maior de clusters contíguos, o que facilita a gravação de novos arquivos em trechos contínuos de disco. Além de permitir liberar mais espaço no final do disco – o que pode ajudar bastante a quem pretender usar o Gerenciador de Discos de Windows para criar uma nova partição neste espaço.
Finalmente, mais um ponto importante. Repare novamente na figura, que mostra o estado dos discos desta máquina que vos fala. Note, especialmente, o estado de meu disco “C”, que apresenta cinco porcento de arquivos fragmentados, uma porcentagem extremamente elevada em se tratando de Windows 7.
Estranhou? Bem, é que meu disco C é do tipo “estado sólido”. E quando o desfragmentador de Windows 7 identifica um disco como de estado sólido, se recusa a desfragmentá-lo.
E tem boas razões para fazê-lo.
Razões a serem discutidas na próxima coluna.
Até lá.
B. Piropo