Ibytes Web Site

O Cachê de Disco

O ponto mais lento de qualquer computador é sua unidade de disco.

As unidades e o teclado são os principais itens do computador pessoal que contêm partes móveis. O restante do computador existe simplesmente para mudar os elétrons de um lado para outro.

Mas as partes mecânicas movem-se dentro do mundo real, que leva em consideração massa e o tempo de retardo.

Não importa a rapidez do disco rígido, suas partes mecânicas parecem tartarugas se comparadas aos demais componentes que movimentam os dados na velocidade da eletricidade.

Existem formas de minimizar essa lentidão referente às unidades, algumas delas são mais rápidas que as outras.

Uma delas é certificar-se de que os arquivos no disco estão desfragmentados, ou seja, os clusters que compõem tais arquivos estão próximos uns dos outros, e as cabeças de leitura e gravação não precisam percorrer todo o espaço físico do disco para unir as diferentes partes do arquivo.

Outra maneira é contornar o problema optando por uma unidade na RAM, que faz parte da memória do computador e é configurada para enganar o computador, fazendo com que ele trabalhe como se fosse com uma unidade real.

Mas apesar desses truques, é impossível eliminar totalmente o acesso ao disco.

Ler os programas e arquivos de dados do disco é essencial para qualquer computador que se preze.

A maneira mais fácil e eficiente de compensar a lentidão das unidades de disco é utilizar um cache de disco.

Basicamente, um cache de disco torna mais rápidas as operações do computador, mantendo na RAM os dados de seu aplicativo que tem maior probabilidade de serem solicitados às unidades.

O conceito que está por trás do cache de disco é parecido ao do cache de RAM.

Mas como a diferença de velocidade entre uma unidade de disco e qualquer chip de RAM é muito maior do que entre um chip de RAM rápido e um lento, o cache de disco gera resultados muito mais evidentes que os do cache de RAM.

Existem vários programas de cache de disco à venda, um deles acompanha o pré-histórico MS-DOS.

Alguns são melhores que outros, mas mesmo aquele que oferecer menor eficiência irá proporcionar diferença notável.

As controladoras de disco mais modernas vêm com um circuito para unidades cache com RAM própria para que o cache não use a memória que seria solicitada pelos programas.

Mas pode-se obter resultados parecidos carregando-se baratos programas de cache de memória residente que utilizam a memória principal do sistema para fazer o cache das unidades.

Quando é carregado um programa de cache de disco, o programa residente na memória reserva uma parte da memória convencional, expandida ou estendida, para seu uso exclusivo.

A quantidade utilizada pelo cache pode abranger desde alguns kilobytes até vários Mbytes de RAM.

Geralmente, quanto mais RAM um cache usa, mais eficaz ele é.

Alguns caches reservam uma determinada parte da memória, outros exigem toda a memória disponível, mas liberam partes da memória quando outros programas precisam dela para executar suas próprias tarefas.

A CPU, sob o comando do aplicativo, envia um comando para o disco rígido solicitando dados.

O cachê intercepta a solicitação de dados, lê os dados do disco e atende à solicitação e busca mais dados.

Geralmente nos clusters próximos da unidade, o cachê passa os dados solicitados à CPU, mas guarda uma cópia deles, com o excesso de dados que buscou na RAM reservada anteriormente.

Em muitos momentos, quando a CPU não está engajada ativamente em processar instruções, o cachê assume o controle para ler mais dados na unidade, que também são guardados na RAM, geralmente em setores próximos aos arquivos já lidos.

Cada cache possui uma lógica interna que faz com que “descubra” quais blocos tem mais chances de serem solicitados mais tarde pelo aplicativo, a inteligência desta lógica distingue a eficiência de um cache de outro.

Mais tarde, quando o programa solicita mais dados, o cachê novamente intercepta a solicitação e verifica se os dados solicitados já estão na RAM, se estiverem, o cache os fornece diretamente à CPU sem ter que acessar o disco.

Caso contrário, o cache repete o procedimento anterior, buscando os novos dados, fornecendo-os à CPU e também os guardando na RAM com os clusters extras do disco.

Quando a RAM que é utilizada pelo cache estiver lotada, ele libera os dados que estão há mais tempo sem utilização, substituindo-os por dados recolhidos durante os procedimentos mais recentes de acesso ao disco.

Quando um programa envia um comando para gravar dados no disco, alguns caches interceptam os dados, não os gravando no disco até que a CPU esteja ociosa.

Isto torna mais ágeis as operações do computador porque a atenção da CPU não está dividida entre gravar no disco e outro tipo de processamento.

Se o arquivo a ser gravado no disco ainda estiver na área da RAM controlada pelo cache, este grava no disco somente os clusters que foram alterados.

Alguns caches também mantêm gravações pendentes para minimizar os movimentos das cabeças de leitura e gravação da unidade de disco.

Nota: As controladoras de cache de disco trabalham de forma parecida com os programas de cache, mas não usam nenhum tipo de memória do sistema, nem para a lógica que controla o cache nem para armazenar os dados no cache.

As controladoras de cache geralmente oferecem melhor desempenho, mas são mais caras que os programas de cache.

Acesse e conheça O Canal Ibytes no Youtube
Acesse o Canal Ibytes no Youtube