Buffer (ciência da computação)

Um retentor ou buffer é uma região de memória física utilizada para armazenar temporariamente os dados enquanto eles estão sendo movidos de um lugar para outro.[1] Normalmente, os dados são armazenados em um retentor enquanto eles são recuperados de um dispositivo de entrada (como um microfone) ou pouco antes de serem enviados para um dispositivo de saída (como auto-falantes). Contudo, um retentor pode ser utilizado quando movem-se dados entre processos dentro de um computador. Isto é comparável com os retentores de telecomunicações. Os retentores podem ser implementados em um local de memória fixa no hardware - ou utilizando-se um retentor de dados virtual em software, apontando para um local na memória física. Em todos os casos, os dados armazenados em um retentor são armazenados em um meio de armazenamento físico. A maioria dos retentores são implementados em software, que normalmente usa a RAM mais rápida para armazenar dados estáveis, devido ao tempo de acesso muito mais rápido comparado com as unidades de disco rígido. Os retentores normalmente são usados quando há uma diferença entre a taxa a qual os dados são recebidos e a taxa a qual eles podem ser processados, ou no caso em que estas taxas são variáveis, por exemplo em um spooler de impressão ou em streaming de vídeos online.[2]

Um retentor frequentemente ajusta o tempo pela implementação de um algoritmo de fila (ou FIFO) na memória, simultaneamente escrevendo dados na fila em uma taxa e lendo-os em outra taxa.

Ver também

  • Buffer overflow
  • Buffer underrun
  • Cache
  • Buffer PABX

Referências

  1. Brookshear, J. Glenn (2008). Ciência da computação: uma visão abrangente. Porto Alegre: Bookman 
  2. «Buffer». Encyclopædia Britannica Online (em inglês). Consultado em 21 de outubro de 2020