|
Anteriores:
< Trilha Zero > |
|
|
|
01/11/1999
|
< Duas Cópias Por que? > |
|
O assunto das duas últimas colunas foi o cache de disco de Windows 9x. A da semana passada falou sobre o Cacheman, um programa que otimiza seus ajustes. E funciona: o Adolfo Gerbatin informa que depois dele um arquivo que levava quinze segundos para carregar passou a materializar-se quase instantaneamente (lamento, Adolfo, mas não encontrei tempo para responder diretamente: já há três semanas não dou conta do correio eletrônico; leio todas as mensagens, mas responder que é bom, nem pensar desculpas, aliás, extensivas aos demais leitores que me enviaram perguntas e, angustiados, esperam em vão por uma resposta). A coluna da semana anterior descreveu o problema. A questão é que, por razões editoriais, ela migrou deste canto habitual para o costumeiro lugar do So~site, vago em virtude das merecidas férias do Marcelo. Como resultado, muita gente imaginou que a coluna havia sido suprimida e escreveu aflita (fui misericordiosamente poupado das mensagens de regozijo dos que se sentiram aliviados). Como o espaço era menor, alguns pontos foram resumidos mas o essencial estava lá. Inclusive o trecho que dizia que Windows 95 mantém na memória duas cópias do código executável dos programas (pelo menos do último a ser carregado). Uma afirmação tão estranha que o Cláudio Silva pergunta o porquê do aparente despropósito. E indaga se por acaso Windows 98 faria o mesmo. Para entender a razão do desperdício é preciso saber como funciona o cache. A idéia básica é usar memória física (ou "memória principal"), um meio de armazenamento de rápido acesso, para simular espaço em disco (ou "memória secundária"), um meio de armazenamento de acesso muito mais lento. Então, quando o sistema operacional recebe a solicitação de efetuar uma leitura em disco, cria na memória uma cópia dos setores lidos e seus vizinhos (o conceito de "vizinho" depende do gerenciador do cache: o Smartdrv do Windows 3.x se orienta pela localização física no disco, enquanto o Vcache de Windows 95 considera a posição no arquivo, eliminando os efeitos nocivos da fragmentação do disco). Isto é feito porque comprova-se estatisticamente que muito provavelmente a solicitação seguinte exigirá uma leitura em um dos setores próximos do último lido. Se isto efetivamente ocorrer, a leitura será feita diretamente na memória, com considerável economia de tempo e significativa melhoria no desempenho da máquina. O desperdício fica evidente quando se pensa no que ocorre ao se carregar um programa. O sistema lê no disco o arquivo que contém o código executável e o transpõe para a memória. Ao mesmo tempo, o gerenciador do cache observa os setores lidos e os copia no cache (ou seja, também na memória). O resultado é que o código executável acaba por ser replicado na memória byte a byte, uma vez no espaço destinado à carga do programa, outra no espaço destinado ao cache. Para eliminar este desperdício Windows 98 adota a técnica de "cache mapeado". Quando solicitado a ler um arquivo executável em disco, faz apenas uma cópia no espaço destinado ao cache. Mas, como "sabe" que se trata do código executável de um programa, "aponta" para aquele espaço quando é preciso executar o programa. O efeito é executar o código diretamente do cache. Quando se sai do programa, o código continua lá (afinal, é para isto que serve o cache), mas o gerenciador de memória de Windows 98 marca como disponível o espaço ocupado por ele. Se o usuário solicita a leitura de outros arquivos, cedo ou tarde aquele trecho acaba por ser sobrescrito. Mas se, antes disso, o usuário solicitar novamente a carga do mesmo programa, a leitura é feita do cache e a economia de tempo é enorme. A coisa é simples assim. E explica porque o efeito do Cacheman é menos pronunciado quando se usa Windows 98 que sob Windows 95. PS: semana passada, precisamente ao meio dia de terça-feira 26/10, minha página pessoal em <http:\\bpiropo.com.br> foi honrada com a visita de seu centésimo milésimo visitante. Isso, em menos de dois anos de existência efetiva, corresponde a mais de mil visitas semanais. Uma freqüência que me levou a reformular inteiramente a página, mantendo e expandindo o conteúdo porém alterando (e melhorando) a forma. Semana que vem voltarei ao assunto. Até lá, cem mil agradecimentos pelo interesse.
B. Piropo |
|
URL:
http://www.bpiropo.com.br
Copyright © Benito Piropo Da-Rin |
WebMaster:
|
|
|
Atualizada
em
(MM/DD/AA) + Hora |
[ Wagner Ribeiro ]
|