ct

    Buffer

    Termos técnicos GdH



    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.


    Blog:

    Add to Google

    » Gostou do texto?
    Veja nossos livros impressos:

    Smartphones | Linux | Hardware
    Redes | Servidores


    ... ou encontre o que procura usando a busca:

cb
ct
Atualizações



[19/03] Montando um DVD de vídeo na unha, via terminal (atualizado)
[18/03] Core i7: Gulftown e a era dos 6 núcleos
[17/03] Artigo: Primeiras impressões do Haiku (alfa)
[16/03] Criando um sistema de recuperação usando o SystemRescueCD
[15/03] Processadores AMD, parte 2: Phenom II e o Athlon II
[14/03] AMD 890GX
[13/03] Dica: kMyFirewall, um firewall gráfico para o KDE
[12/03] Processadores AMD, parte 1: o Phenom
[11/03] Artigo: Uma olhada no PC-BSD 8.0
[10/03] Artigo: Investigando os modelos do Eee PC
[09/03] Artigo: nVidia Optimus
[05/03] Artigo: Comparativo de desktops: Zenwalk, Salix OS e GoblinX
[03/03] Artigo: Meego: a fusão entre Maemo e Moblin
[02/03] Artigo: Uma breve análise do Linux Mint 8 'Helena'
[01/03] Processadores: Chipsets e placas para o Core 2 Duo, Quad e Celeron
[26/02] Tutorial: Criando um loop de vídeo com o Kino e o Audacity
Destaques



» Hardware o Guia Definitivo, disponível para leitura online
» Como um HD funciona: Head Switch Time
» Redes: TCP/IP, endereçamento e portas
» O básico para o Debian Lenny no desktop
» Configurando um servidor de rede local com o Ubuntu, fácil
» Uma breve análise do Linux Mint 8 'Helena'
» Programação Orientada a Objetos: uma introdução
» Smartphones: TCPMP e CorePlayer
» PCI Express: compatibilidade, linhas de dados e o PCIe 2.0
» Dual-SIM: Usando dois chips no mesmo aparelho
» Smartphones e telas: Tamanho e touchscreen
Receba as atualizações diariamente por e-mail:
Assine o RSS Veja todas as atualizações... Add to Google
cb
Livros de Carlos E. Morimoto Contato HOME