Buffer (geheugen)

Uit Wikipedia, de vrije encyclopedie
Ga naar: navigatie, zoeken
Als de in het BIOS geïmplementeerde toetsenbordbuffer vol zit, zal de interne luidspreker een pieptoon produceren.

Een buffer is een wachtrij die asynchrone communicatie mogelijk maakt. De buffer is een plaats in het computergeheugen waar gegevens geplaatst kunnen worden om later uit te lezen. Een buffer wordt ingezet zodat het schrijven en lezen van de gegevens niet tegelijk hoeft plaats te vinden. Het gebruik maken van een buffer noemt men buffering of bufferen.

Buffers worden op diverse manieren gebruikt, waaronder:

  • Invoerapparatuur: Bijvoorbeeld in de toetsenbordbuffer wordt opgeslagen welke toetsen ingedrukt worden. Het BIOS van IBM-gebaseerde PC's gebruikt een ringbuffer met ruimte voor 15 toetsen. Onder Windows hebben toetsenbord en muis een gecombineerde Console Input Buffer.[1]
  • Bijvoorbeeld bij streaming media wordt door het gebruik van een buffer een soepele weergave bereikt: doordat de gedownloade gegevens in een buffer worden opgeslagen kan er een zekere veiligheidsmarge ingebouwd worden. De buffer bevat typisch gegevens voor een paar seconden afspelen. Als de downloadsnelheid niet constant is, of de gegevensstroom even onderbroken wordt, kan afspelen doorgaan tot de buffer leeg is. Als voor die tijd de gegevens weer binnenkomen, wordt het afspelen niet onderbroken.
  • Voor het weergeven van graphics wordt vaak een dubbele buffer gebruikt: twee buffers met elk een apart gebied van het geheugen. Een van de twee gebieden is wat op het scherm afgebeeld wordt. Het andere gebied wordt gebruikt om een nieuwe afbeelding op te bouwen. Als dat gereed is worden de buffers omgewisseld. Zo krijgt men een flikkervrije weergave.

Er kunnen diverse problemen optreden met buffering, waaronder:

  • bufferoverloop - een veiligheidslek waarbij er te veel gegevens in de buffer geplaatst worden, en dus buiten het voor de buffer gereserveerde deel van het geheugen terechtkomen.
  • bufferleegloop - het leegraken van de buffer, doordat gegevens sneller worden gelezen dan ze geleverd worden. In het geval van streaming media wordt de weergave dan onderbroken. In de vroege dagen van de cd-branders kwam het vaak voor dat de buffer leeg raakte, en de cd weggegooid kon worden.

Noot[bewerken]

  1. Console Input Buffer, Microsoft Developer Network.