Definição de Buffer

Por Carlos E. Morimoto. Há .

Um buffer é uma pequena área de memória ultra-rápida usada para melhorar a velocidade de acesso a um determinado dispositivo. É encontrado em HDs, gravadores de CD, modems, e muitos outros. Apesar de serem sinônimos, o termo "buffer" é mais usado em relação aos dispositivos anteriormente citados enquanto o termo "cache" é mais usado com relação aos processadores e memória RAM.

Embora não seja tão importante para o desempenho quanto geralmente se pensa, o buffer permite à controladora do HD executar um conjunto de operações úteis para melhorar o desempenho.

Geralmente ao ler um arquivo, serão lidos vários setores seqüenciais. A forma mais rápida de fazer isso é, naturalmente, fazer com que a cabeça de leitura leia de uma vez todos os setores da trilha, passe para a trilha seguinte, passe para a terceira e assim por diante. Isso permite obter o melhor desempenho possível.

O problema é que na prática não é assim que funciona. O sistema pede o primeiro setor do arquivo e só solicita o próximo depois de recebê-lo e certificar-se de que não existem erros.

Se não houvesse nenhum tipo de buffer, a cabeça de leitura do HD acabaria tendo que passar várias vezes sobre a mesma trilha, lendo um setor a cada passagem, já que não daria tempo de ler os setores seqüencialmente depois de todo tempo perdido antes de cada novo pedido.

Graças ao buffer, este problema é resolvido, pois a cada passagem a cabeça de leitura lê todos os setores próximos, independentemente de terem sido solicitados ou não. Após fazer sua verificação de rotina, o sistema solicitará o próximo setor, que por já estar carregado no buffer será fornecido em tempo recorde.

Nos HDs atuais, o buffer pode ser usado também nas operações de escrita. Imagine, por exemplo, que a controladora está ocupada lendo um arquivo longo e o sistema solicita que ela atualize um pequeno arquivo de log. Em vez de precisar parar o que está fazendo, a controladora pode armazenar a operação no buffer e executá-la mais adiante, em um momento de ociosidade.

Nos HDs SATA com NCQ, a controladora possui liberdade para reorganizar as operações, realizando-as de forma que sejam concluídas mais rápido. A controladora passa então a armazenar os dados no buffer, de forma que, depois de concluídas as operações, possa organizar os dados e entregá-los na ordem correta para o sistema.

O espaço excedente é usado para armazenar os últimos arquivos acessados, de forma que eles possam ser fornecidos rapidamente caso sejam requisitados novamente. A principal vantagem de usar um buffer maior seria justamente ter mais espaço para arquivos. A questão é que o sistema operacional também mantém um cache de leitura e gravação utilizando a memória RAM que, por ser maior que o buffer do HD, acaba sendo mais eficiente e também mais rápido, já que o buffer do HD tem sua velocidade de transferência limitada à velocidade da interface IDE ou SATA, enquanto o cache feito pelo sistema operacional está limitado apenas à velocidade de acesso da própria memória RAM.

Veja também
Novo iPad Pro tem tela OLED. Devo temer o burn-in?
Novo iPad Pro tem tela OLED. Devo temer o burn-in?
Artigos
Guia Completo: Como pedir reembolso na Steam
Guia Completo: Como pedir reembolso na Steam
Artigos
Como fazer o Windows iniciar mais rápido
Como fazer o Windows iniciar mais rápido
Artigos
Esse dock para placa de vídeo tem uma fonte de 550W
Esse dock para placa de vídeo tem uma fonte de 550W
Hardware
Na configuração máxima, novo iPad Pro custa mais de R$ 36 mil
Na configuração máxima, novo iPad Pro custa mais de R$ 36 mil
Mobile
Apple Pencil Pro e Magic Keyboard são os novos acessórios de ponta para os novos iPads
Apple Pencil Pro e Magic Keyboard são os novos acessórios de ponta para os novos iPads
Mobile
true