Buffer (ciência da computação)

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

Em ciência da computação, buffer (retentor) é uma região de armazenamento de memória física utilizada para armazenar temporariamente os dados enquanto eles estão sendo movidos de um lugar para outro. Normalmente, os dados são armazenados em um buffer 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 buffer pode ser utilizado quando movem-se dados entre processos dentro de um computador. Isto é comparável com os buffers de telecomunicações. Os buffers podem ser implementados em um local de memória fixa no hardware - ou utilizando-se um buffer de dados virtual em software, apontando para um local na memória física. Em todos os casos, os dados armazenados em um buffer de dados são armazenados em um meio de armazenamento físico. A maioria dos buffers são implementados em software, que normalmente usa a RAM mais rápida para armazenar dados temporários, devido ao tempo de acesso muito mais rápido comparado com as unidades de disco rígido. Os buffers 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.

Um buffer 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.

Buffer circular[editar | editar código-fonte]

Buffer circular é um buffer cujo conteúdo é escrito e lido de maneira circular, ou seja, a última posição do buffer é sucedida pela primeira. Assim, um algoritmo de leitura que leia a última posição do buffer e necessite continuar lendo irá retornar ao início do buffer e proceder a leitura a partir daí. O mesmo vale para algoritmos de escrita, sendo que a escrita numa posição não-vazia provoca a perda do conteúdo original.

Ver também[editar | editar código-fonte]