Escritos
B. Piropo
Anteriores:
< Trilha Zero >
Volte de onde veio
14/12/1992

< Instalando o Stacker>


Imagine um micro com um único disco rígido. E suponha que nele se vai instalar, digamos, o Stacker. Vamos acompanhar a instalação para entender melhor como funciona um compressor de arquivos em tempo real. Primeiro vejamos o que acontece quando se aceitam as respostas default durante a instalação. Nesse caso, será executada a opção "comprimir um drive existente" e o Stacker, além de se instalar no disco rígido, vai comprimir todo o seu conteúdo, exceto aqueles arquivos que não podem ser comprimidos.

Inicialmente é criado o diretório "Stacker" no drive C e lá são copiados todos os arquivos do Stacker (o driver e seus programas auxiliares). Depois, começa a preparação do disco rígido, pois como o Stacker exige que seu "arquivão" se acomode em uma área contínua do HD, precisa abrir espaço para criá-lo.

Acontece que, ao usarmos o disco rígido, arquivos são criados, apagados e regravados. Quando se apaga um arquivo, fica um "buraco" livre no disco, que pode ser usado para gravar outros arquivos. Se um novo arquivo for maior que um destes "buracos", o sistema grava ali o tanto que couber e vai gravando o resto onde encontra setores livres. Depois de algum tempo, inevitavelmente, muitos arquivos se espalham por setores não contíguos. E sempre existem alguns setores livres entre os ocupados, onde antes havia arquivos que foram apagados. A isto se chama "fragmentação". O espaço disponível no disco é a soma de todos os setores livres, inclusive estes "buracos". Incidentalmente: um disco rígido muito fragmentado fica mais lento, já que a cabeça de leitura/gravação precisa saltar de um lado para outro enquanto lê ou grava arquivos. Por isso existem programas que desfragmentam discos, que devem ser usados periodicamente para "arrumar" os arquivos em setores sucessivos de uma região contínua, deixando o espaço livre nas trilhas finais. Pois bem, para arranjar espaço contínuo no HD, o Stacker usa um destes programas, o Speedisk, integrante das Norton Utilities e especialmente licenciado para este fim.

Neste ponto o HD parece um ônibus depois de uma "freada de arrumação": os arquivos se concentram lá na frente e todo o espaço livre fica no final. Só então o Stacker começa a funcionar como compressor de arquivos: comprime, um a um, os arquivos do drive C, grava-os no espaço livre do final do disco e os apaga do local original. Como começa "de trás para a frente", pelos arquivos das últimas trilhas ocupadas, o trecho usado pelos arquivos comprimidos vai crescendo do final para o começo do disco. O processo continua até que quase todos os arquivos contidos no drive C tenham sido comprimidos. Sobram apenas aqueles que jamais podem ser comprimidos por serem necessários durante a carga do sistema operacional, antes de se carregar o driver do Stacker, ou para verificar a integridade do disco: os arquivos do sistema, alguns drivers, o diretório Stacker e pouca coisa mais, como o Chkdsk.Exe do diretório DOS e os Autoexec.Bat, Config.Sys e Command.Com.

Neste ponto, o disco rígido apresenta um aspecto curioso: no começo, poucos arquivos em seu formato original. No final, todos os demais arquivos, em formato comprimido. No meio, o espaço livre. Que, evidentemente, aumentou muito, já que os arquivos comprimidos ocupam agora muito menos espaço. Mas a instalação ainda não terminou: falta criar o "arquivão", que vai simular um novo disco. E o Stacker não o limita ao trecho dos arquivos comprimidos, mas o estende até ocupar todo o espaço livre restante no HD. Aquilo que, no arquivão, não é usado pelos arquivos comprimidos, aparece como espaço livre no novo disco simulado pelo arquivão.

E agora, como fica o disco C? Se ele for examinado com um utilitário como o XTree, que mostra arquivos ocultos, aparecem apenas os diretórios "Stacker" e "DOS" (este último com apenas dois ou três arquivos essenciais) e alguns arquivos no diretório raiz. Entre os quais o famoso arquivão, que se chamará Stacvol.Dsk. E, como ele ocupa quase todo o disco C, não resta ali praticamente nenhum espaço livre. Mas em compensação aparece agora um disco novo, o disco D, com todos os diretórios e arquivos antes contidos no C. E com cerca do dobro da sua capacidade total.

A mágica é facilmente explicável: o disco D na verdade não existe. Ele é de fato o arquivão, para onde foram copiados todos os arquivos do drive C. Como estes arquivos foram comprimidos antes de serem copiados, ocupam muito menos espaço. E como os novos arquivos a serem ali gravados também serão comprimidos, o espaço livre dentro do arquivão (que agora é "enxergado" como um novo drive") é muito maior. Se a relação de compressão (que varia com o tipo de arquivo do disco original) for a usual, cerca de 2:1, cada arquivo comprimido ocupará a metade do espaço original e o resultado final corresponde a dobrar a capacidade do HD.

Pronto? Quase. Só falta uma coisa: você deve ter notado que tudo o que havia no drive C, exceto os poucos arquivos que não foram comprimidos, estão agora no drive D, o nome pelo qual atende o arquivão. E isso pode trazer problemas. Pois alguns programas, ao se instalarem, registram em sua configuração o drive onde foram gravados e onde encontrar seus arquivos auxiliares e de trabalho. E, se forem mudados para outro drive sem aviso, podem se perder e emitir as mais estranhas mensagens de erro. Pois, para evitar este inconveniente, o Stacker usa um programeto auxiliar, na verdade um segundo driver, chamado Sswap.Com, (também automaticamente incluído durante a instalação no Config.Sys, juntamente com o Stacker.Com, o driver do Stacker) que "troca" os designadores de disco: o disco C passa a ser chamado de "D". E o novo disco simulado pelo arquivão assume a identidade "C". Com isto as coisas voltam ao normal: todos os arquivos e programas que você se acostumou a encontrar no drive C lá estarão de volta. E c'est fini.

O Stacker foi usado como exemplo, mas evidentemente com o SuperStor tudo se passa de forma semelhante. Também, na instalação default, todo o disco é comprimido usando um procedimento quase idêntico. A diferença é que seu arquivão se chama Sspartss.Add e o programa auxiliar que troca os designadores dos drives chama-se Devswap.Com. Mas o resultado final é o mesmo.

Descrevemos hoje o procedimento default. Ele foi idealizado para simplificar a instalação e o uso do programa, fazendo com que tudo ocorra como se nada houvesse mudado - além do fato de se ter um HD com o dobro da capacidade. Mas traz também alguns inconvenientes, e não me parece ser a forma ideal de usar um programa de compressão em tempo real. Semana que vem veremos porque. E qual é, na minha opinião, a melhor forma de usar um programa destes.

B. Piropo