Nota: Este texto era uma explicação rápida para clientes que precisavam do stacker. Tem muitas “pontas soltas” porque eu podia responder as dúvidas dos cliente por telefone. Não pretendo corrigir as pontas soltas porque o Stacker não é mais popular. Mas deixo essas informações aqui na esperança de que ainda assim possam ajudar alguém. Perceba que a maior parte do texto não está acentuada, porque na época não era fácil acentuar em computadores.
Introdução
Este texto nao tem a pretensao de substituir o manual do Stacker, pelo contrario, a leitura do manual e algo que considero indispensavel a compreensao do software e que, consequentemente, ajudara o usuario em caso de acidentes de utilizacao. O meu objetivo e esclarecer alguns pontos que o manual deixa nebulosos ou nao chega sequer a citar. Em pontos onde achei necessario eu repeti dados do manual porem deixei pouca ou nenhuma indicacao no texto de quais informacoes foram transcritas ou foram obtidas atraves de testes. Quaisquer criticas serao bem-vindas, assim como indicacoes feitas com relacao a incorrecoes nas informacoes dadas e suposicoes feitas. E necessario ter em mente as seguintes definicoes:
Stacker Drive -> Drive virtual criado pelo Driver de Dispositivo STACKER.COM em um arquivo STACVOL.XXX.
Host Drive -> Drive fisico que contem o Stacker Drive (Host significa HOSPEDEIRO).
Lembre-se que, por vezes, o “modus operandi” do Stacker pode parecer absolutamente imcompreensivel e talvez seja isso que deixa tantos usuarios relutantes em utilizar seriamente o programa. A leitura atenta do manual antes ou durante o processo de instalacao ( e nunca depois ) pode evitar HORAS de frustracao.
Procedimento Inicial de instalação
Antes de tentar a instalacao e de posse do Disquete Stacker tomar as seguinte medidas:
- Fazer uma copia do disco e mante-la como matriz (nao utiliza-la para instalacao). O programa personaliza a copia durante a instalacao com seu no me e o nome da empresa e apresenta esses dados sempre durante o boot quando o STACKER e instalado pelo CONFIG.SYS. Nao tenho certeza mas talvez isso ocasione problemas futuros de uso do disquete.
- Mover os arquivos do diretorio STACKER para o diretorio raiz do dis- quete (se isso nao for feito a instalacao comecara bem, mas tera que ser a- bortada mais tarde).
- Foi impossivel para mim rodar o Stacker de dentro do Stereo Shell. Portanto aconselho que, se voce estiver dentro de algum programa gerenciador dor de discos (como o proprio DOS SHELL) e estiver recebendo absurdas mensa- gens do tipo “Unable to find INSTALL2.EXE”, abandone o shell e execute o Stacker a partir do prompt do DOS.
E muito importante entender o que ocorre durante o boot de um micro onde o Stacker esta instalado para que se possa resolver eventuais problemas. Tome o seguinte exemplo do CONFIG.SYS no meu micro ( eu tenho um HD de 130Mb dividido em quatro drives logicos: C, D, E e F ).
device=C:\DOS\SETVER.EXE
device=C:\DOS\HIMEM.SYS
device=C:\DOS\EMM386.EXE
device=C:\DOS\RAMDRIVE.SYS 2048/e
device=SCREATE.SYS G:
device=STACKER.COM C:\STACVOL.DSK D:\STACVOL.DSK E:\STACVOL.000 F:\STACVOL.DSK G: \ems
devicehigh=C:\DOS\ANSI.SYS DOS=high, umb COUNTRY=055,801,C:\DOS\COUNTRY.SYS device=C:\WIN\SMARTDRV.SYS
FILES=30
buffers=20
device=SSWAP.COM F:\STACVOL.DSK
device=SSWAP.COM D:\STACVOL.DSK
device=SSWAP.COM E:\STACVOL.000
device=SSWAP.COM C:\STACVOL.DSK /sync
Apos a execucao desse arquivo o computador podera acessar os seguintes drives referentes ao disco rigido:
- Drive C: ->Stacker Drive
- Drive D: ->Stacker Drive
- Drive E: ->Stacker Drive
- Drive F: ->Stacker Drive
- Drive G: ->Stacker Drive (RAM)
- Drive H: ->Host Drive do Stacker Drive C:
- Drive I: ->Host Drive do Stacker Drive D:
- Drive J: ->Host Drive do Stacker Drive E:
- Drive K: ->Host Drive do Stacker Drive F:
Observe que com todos os Host Drives juntos e tendo letras de H acima ha uma seguranca maior do sistema pois dificulta o mauseio acidental dos arquivos que contem os Stacker Drives. Agora observe como isso e feito no CONFIG.SYS:
device=C:\DOS\SETVER.EXE
device=C:\DOS\HIMEM.SYS
device=C:\DOS\EMM386.EXE
device=C:\DOS\RAMDRIVE.SYS 2048/e
As linhas acima tem o efeito de criar o ramdrive G antes da instalacao do STACKER.COM. Isso e necessario porque neste caso o ramdrive tambem sera ampliado pelo Stacker e STACKER.COM so pode ser instalado uma unica vez com todas as declaracoes feitas numa unica linha. E possivel ampliar o ramdrive mesmo que ele seja criado apos a instalacao do STACKER.COM, mas isso implica adicionar uma linha ao arquivo AUTOEXEC.BAT. Desta maneira o uso fica simplificado.
device=SCREATE.SYS G:
Essa linha cria, no ramdrive, um arquivo STACVOL.DSK. Note que a inclusao dessa linha so e necessaria no caso do ramdrive, porque o arquivo e sempre apagado ao inicializarmos o micro. No caso dos demais drives os arquivos foram criados pelo programa SCREATE.COM e estao permanentemente guardados no HD.
device=STACKER.COM C:\STACVOL.DSK D:\STACVOL.DSK E:\STACVOL.000 F:\STACVOL.DSK G: \ems
A linha acima instalara o STACKER.COM como um driver de dispositivo. A partir desse momento o STACKER.COM manipulara os arquivos STACVOL.XXX cuja localizacao e descrita na linha e os transformara em Stacker Drives. Observe que no caso do ramdrive nao e necessario especificar arquivo.
Lembrar que STACKER.COM deve ser instalado numa unica linha. A opcao \ems economiza memoria convencional fazendo o STACKER.COM car- regar uma parte de seu codigo na memoria expandida e, tambem, cria uma cache de disco. Observei que o uso da opcao \ems no caso acima impede a carga do Windows 3.0 no modo Standard. E possivel que com outro arranjo do CONFIG.SYS esse problema deixe de existir. Conforme ja foi explicado, esse arranjo criara drives adicionais de H a K; caso voce ache isso incoveniente por algum motivo voce pode alterar a linha para:
device=STACKER.COM C:\STACVOL.DSK D: E: F: G: \ems
Na forma acima o Stacker criara apenas o drive H, que sera o Host Drive do Stacker Drice C; isso nao deve ser mudado poque o drive C e o drive de boot ( o manual nao esclarece o motivo mas alerta para isso ). Os demais Stacker Drives ao serem criados substituirao os respectivos Host Drives ( a- cessar os Host Drives sera impossivel ate que seja feita uma reconfiguracao).
device=SSWAP.COM F:\STACVOL.DSK
device=SSWAP.COM D:\STACVOL.DSK
device=SSWAP.COM E:\STACVOL.000
device=SSWAP.COM C:\STACVOL.DSK /sync
As linhas acima determinam que as letras atribuidas aos Host Drives sejam permutadas com as letras atribuidas aos Stacker Drives. Isso e necessario porque, a medida que cria Stacker Drives, o STACKER.COM vai utilizando as proximas letras disponiveis para atribuir a eles. No caso que estamos analisando se nao incluirmos o SSWAP.COM o sistema ficaria com as seguintes atribuicoes de letras para os drives:
- Drive C: ->Host Drive do Stacker Drive H:
- Drive D: ->Host Drive do Stacker Drive I:
- Drive E: ->Host Drive do Stacker Drive J:
- Drive F: ->Host Drive do Stacker Drive K:
- Drive G: ->Stacker Drive (RAM)
- Drive H: ->Stacker Drive
- Drive I: ->Stacker Drive
- Drive J: ->Stacker Drive
- Drive K: ->Stacker Drive
A incoveniencia disso torna-se clara se voce observar que suas aplicacoes instaladas para rodar no drive C agora estarao no drive H. Outro incoveniente e a manipulacao em programas tipo Stereo Shell. No caso de ter-se optado pela linha: device=STACKER.COM C:\STACVOL.DSK D: E: F: G: \ems apresentada anteriormente, o uso do SWAPP.COM torna-se des- necessario.
Atencao ao fato de que a ultima das declaracoes SSWAP nao o e por aca- so: Ate a execucao dessa linha todos os drivers sao chamados no verdadeiro drive C ( Host ), mas apos sua execucao qualquer driver sera buscado no Sta- quer drive que foi “sswapped” com o drive C ( o H, no caso ) isso pode gerar muita confusao e problemas de execucao dos drivers.
Atencao ao instalar o Stacker num drive ja ocupado por arquivos. Sta -cker Drives criados dessa maneira levam mais tempo para ficarem prontos pa- ra uso durante a execucao do CONFIG.SYS (nem sempre. O tempo necessario pa- rece depender do numero de modificacoes em arquivos feitas antes do ultimo boot).
MAIS NOTAS SOBRE O STACKER
O stacker apresentou imcompatibilidade com o programa Wild Find (WF.COM) Ele apresenta a mensagem BOOT RECORD SCREWD UP em qualquer stacker drive que voce tente rodar o programa.
Programas gerenciadores de boot como o BOOT.SYS nao funcionarao corre- tamente se voce adotar o esquema normal de SWAPP dos stacker drives. E ne- cessario transferir as declaracoes SWAPP para o AUTOEXEC.BAT logo apos um comando para copiar os novos CONFIG.SYS e AUTOEXEC.BAT gerados pelo progra- ma para a copia do diretorio raiz gerenciada pelo stacker. Se esta provi- dencia nao for tomada o AUTOEXEC.BAT correto nao sera executado.
Lembrar que, se voce instalar o Stacker para o drive C, durante uma secao normal de trabalho voce ao movimentar dados de/para o drive C estara trabalhando com o Stacker Drive e nao com o Host Drive. Isso significa que apagar, mover ou renomear arquivos importantes para o boot como o IOSYS.COM e o COMMAND.COM nao afetara em nada a inicializacao do sistema pois sao me- ras copias dos originais.
Problemas com o QEMM
Utilizar o programa OPTIMIZE, da Quarterdeck, sob o Stacker pode trans- formar-se num pesadelo de reboots, arquivos duplicados e, o que e pior, nenhum efeito benefico claro. A causa disso tudo e, como sempre, o SWAPP. A necessidade de permutar drives durante o processo de boot enlouquece os programas que trabalham com modificacao dos arquivos AUTOEXEC.BAT e CONFIG.SYS: eles acabam modificando os arquivo errados.
Apos uma dezena de tentativas frustradas de entender o que estava o- correndo de errado eu tomei uma decisao: eliminei temporariamente as linhas que faziam o SWAPP para que o OPTIMIZE trabalhasse em unico drive. Apos o programa ter realizado o seu trabalho eu simplesmente copiei os arquivos AUTOEXEC.BAT e CONFIG.SYS ja modificados para o meu Stacker Drive para nao ter problemas futuros e recoloquei as declaracoes SWAPP nos arquivos (isso nao prejudica o processo porque o Driver SWAPP nao fica residente em memo- ria).
E necessario para isso que o Host Drive C: tenha copia dos arquivos utilizados pelo OPTIMIZE. Como eu nao sabia que arquivos o programa utiliza nas fases de “detection”, “setup” e “stealth” entao copiei o diretorio in- teiro do Stacker Drive para o Host Drive. Concluido o trabalho do OPTIMIZE, basta deixar no diretorio os arquivos citados em AUTOEXEC.BAT e CONFIG.SYS. No meu caso os arquivos foram:
- QEMM386.SYS
- LOADHI.COM
- LOADHI.SYS
Os seguintes arquivos sao criados pelo OPTIMIZE:
- STEALTH.LOG
- HINTDATA.OPT
- LOADHI.OPT
A verdadeira utilidade dessses arquivos eu desconheco. Porem, na ausencia do manual, eu os mantive intactos (na realidade esses arquivos sao criados a cada execucao do OPTIMIZE, eu mantive apenas os referentes ao meu boot atual). Tentei os processos de Stealth utilizando os parametros :M e :F. Esse ultimo revelou ser mais eficiente, liberando mais memoria abaixo dos 640K. Entretanto, o programa so tenta “:F” sob solicitacao do usuario, o que faz acreditar que deve haver alguma contra-indicacao no uso desse parametro. Melhor ficar atento a futuros problemas de gerenciamento de memoria.
Notas Sobre a Utilização
Eu criei um diretorio de teste em tres drives logicos diferentes e movi para cada um deles um diretorio com 1.107.882 bytes em arquivos. Pude notar o seguinte:
DRIVE D | DRIVE F | DRIVE C | |
Bytes livres antes |
14.098.432
|
14.131.200
|
18.776.064
|
Bytes livres depois |
12.894.208
|
13.139.968
|
17.768.440
|
Numero de bytes ocupado |
1.204.224
|
991.232
|
1.007.624
|
Isso mostra como e dificil prever o espaco ocupado por um arquivo ou grupo de arquivos num Stacker Drive. O motivo dessa disparidade e, em parte, explicado na pagina 88 do manual e tem a ver com o fato de que o numero de bytes que voce ve como livres e uma projecao dada pelo Stacker baseado na taxa de ocupacao do drive e da taxa de compressao alcancada pelos arquivos até então instalados no drive. Como esses dois fatores nao sao iguais em todos os drives resulta nas diferenças apontadas acima. Como exemplo estas são as taxas de compressão obtidas com o SCHECK.COM no momento em que foi realizado o teste:
DRIVE D | DRIVE F | DRIVE C | |
Taxa de compressao |
2.8:1
|
1.5:1
|
1.6:1
|
Manter diretorios compactados com ARJ ou PKZIP em um Stacker Drive pode ser vantajoso em termos de espaco ocupado. Apesar desses compactadores acrescentarem um “header” no arquivo compactado suas taxas de compressao mais elevadas permitem essa economia de espaco. Realizei um unico teste utilizando o mesmo grupo de arquivos do teste anterior agora compactado com ARJ para um unico arquivo de 525.647 bytes e obtive os seguintes resultados:
DRIVE D | DRIVE F | |
Bytes livres antes |
14.098.432
|
14.131.200
|
Bytes livres depois |
13.565.952
|
13.254.656
|
Numero de bytes ocupado |
532.480
|
876.544
|
Ja que o diretorio utilizado e o mesmo do exemplo anterior podemos usar os valores ja obtidos:
DRIVE D | DRIVE F | |
Diretorio nao compactado |
1.204.224
|
991.232
|
Diretorio compactado |
532.480
|
876.544
|
Ganho de espaco |
671.744
|
114.688
|
As diferencas de um drive para outro sao enormes mas o ganho de espaco e evidente em ambos os casos. Nao foi realizado o teste no drive C porque a digitacao deste texto alterou o numero de bytes livres desde o ultimo teste ( a diferenca era insignificante mas, mesmo assim, leveia em consideracao ).
Leave a Reply