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
Tune 310C: fone USB-C da JBL chega ao Brasil por R$ 99
Tune 310C: fone USB-C da JBL chega ao Brasil por R$ 99
Notícias
Lançar jogos do Xbox no PlayStation gerou bons resultados, diz CEO da Microsoft
Lançar jogos do Xbox no PlayStation gerou bons resultados, diz CEO da Microsoft
Games
Olha o golpe: homem que vendeu iPhone de argila é preso em MG
Olha o golpe: homem que vendeu iPhone de argila é preso em MG
Mobile
Youtube revela que testes com anúncios em vídeos pausados foram um sucesso
Youtube revela que testes com anúncios em vídeos pausados foram um sucesso
Notícias
Garry’s Mod, jogo clássico da Steam, remove 20 anos de conteúdo por causa da Nintendo
Garry’s Mod, jogo clássico da Steam, remove 20 anos de conteúdo por causa da Nintendo
Games
X/Twitter vai ganhar um aplicativo de streaming de vídeos para TVs
X/Twitter vai ganhar um aplicativo de streaming de vídeos para TVs
Notícias
true