O que é 'memória tampão'?
Um buffer, também chamado de memória buffer, é uma parte da memória de um computador's que é reservada como um lugar de retenção temporária para dados que estão sendo enviados ou recebidos de um dispositivo externo, como um disco rígido (HDD), teclado ou impressora.
O significado original de buffer é um dispositivo do tipo almofada que reduz o choque do contato de dois objetos. Um buffer em um sistema de computador está normalmente localizado entre dois dispositivos que têm velocidades diferentes para o manuseio de dados ou usado quando há uma diferença no tempo dos eventos. É análogo a um reservatório, que capta a água a montante e depois a deixa sair a velocidades controladas com o objectivo de evitar que o rio inferior transborde para as suas margens. Da mesma forma, um buffer em um computador garante que os dados tenham para onde ir, ou seja, para o buffer temporariamente até que seu destino final se torne disponível.
Buffers têm uma série de aplicações em computadores. Por exemplo, as CPUs (unidades centrais de processamento) têm velocidades muito superiores às dos discos rígidos, pelo que os dados que devem ser utilizados por um CPU são primeiro copiados de um disco rígido para um buffer enquanto o CPU está a executar outras tarefas, de modo a que esteja disponível para o CPU utilizar a alta velocidade, ou seja, sem desperdiçar o tempo do CPU's à espera dos dados.
A maioria dos editores de texto armazenam o ficheiro que está a ser escrito ou editado num buffer. O texto é transferido para o HDD quando é salvo, ou seja, os dados do buffer são copiados sobre o arquivo original no HDD, substituindo-o assim. Como as alterações são inicialmente armazenadas em um buffer, todas elas serão perdidas se o computador travar durante uma sessão de edição. Assim, é uma boa idéia salvar freqüentemente arquivos que estão sendo trabalhados em.
Pipes, que permitem que a saída de um programa seja usada diretamente como uma entrada para outro programa, muitas vezes armazenando a saída, coletando-a em pedaços e enviando-a para o próximo programa em intervalos.
Quando um comando é emitido para imprimir um documento, o sistema operacional copia o documento para um buffer de impressora a partir do qual a impressora pode usá-lo em seu próprio ritmo. Isto liberta o computador para executar outras tarefas enquanto a impressora está a funcionar em segundo plano. O buffer de impressão é chamado spooling.
Likewise, as placas de vídeo contêm um buffer para que as imagens possam ser montadas e exibidas enquanto o computador está a fazer outra coisa.
Um buffer de anel é um buffer de tamanho fixo no qual novos dados são colocados no seu início quando estão cheios, sobrepondo assim os dados que foram colocados pela primeira vez nele. Buffers de anéis são normalmente usados por drivers de dispositivos (ou seja, programas para controlar dispositivos de hardware como drives de disco, teclados e impressoras). Além disso, as mensagens de saída do kernel (ou seja, núcleo do sistema operacional) são armazenadas em um buffer ring, cujo conteúdo pode ser lido usando o comando dmesg.
Um buffer overflow é um tipo comum de ataque de segurança em computadores. Ele ocorre quando um programa ou processo (ou seja, uma instância de um programa em execução) tenta armazenar mais dados em um buffer do que o buffer pode armazenar. A informação extra, que tem que ir a algum lugar, pode transbordar para os buffers adjacentes, corrompendo ou sobregravando os dados válidos mantidos neles. Em um ataque de estouro de buffer, os dados extras contêm código projetado para acionar ações específicas que podem alterar dados, danificar arquivos ou revelar informações confidenciais.
Artigos semelhantes
- Que tipo de memória de computador é esta: 8GB de memória LPDDR4?
- Quanta memória é de 4GB? O que posso fazer para ter esse tipo de memória?
- O tamanho da memória cache de um laptop é tão importante quanto a memória RAM?
- Quando as funções da biblioteca compartilhada são carregadas na pilha (C, memória, memória da pilha, desenvolvimento)?