Buffert (datavetenskap)

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 25 januari 2020; kontroller kräver 7 redigeringar .

I datavetenskap buffert (från engelska  buffer ), pl. h. buffert [1] [2] , buffertar [3] [4]  är ett minnesområde som används för tillfällig lagring av data under inmatning eller utmatning. Datautbyte (inmatning och utmatning) kan ske både med externa enheter och med processer i datorn . Buffertar kan implementeras i hårdvara eller mjukvara , men de allra flesta buffertar är implementerade i mjukvara. Buffertar används när det finns en skillnad mellan den hastighet med vilken data tas emot och den hastighet med vilken den bearbetas, eller när dessa hastigheter är variabla, till exempel när utskrift buffras.

Buffert och cache

Dessa termer utesluter inte varandra och deras funktioner är ofta förvirrade, men det finns en skillnad i deras syfte. En buffert är en tillfällig lagring där stora datablock slås samman eller delas upp i delar. Detta är nödvändigt för att interagera med en lagringsenhet som fungerar med stora datablock, eller när data överförs i en annan ordning än den i vilken de bildas, och är endast önskvärt när användning av små block är ineffektivt. Att använda en buffert är fördelaktigt även om buffrad data endast skrivs till och läses från bufferten en gång.

Användningen av en cache innebär i sin tur att data kommer att läsas från cachen oftare än skrivs där. Syftet är att minska antalet minnesåtkomster, inte att göra dem mer effektiva.

Använda buffertar

Metoden för att organisera datautbyte mellan enheter eller processer med hjälp av en buffert kallas buffring . Ett av de mest kända exemplen för PC -användare på denna användning av bufferten är urklippet i Microsoft Windows .

Dessutom används buffertar i programmering för att ta emot data från funktioner . Windows API- funktioner som resulterar i ett strängvärde (till exempel MultiByteToWideChar ) tar som ett av argumenten en pekare till bufferten som ska matas ut. Här är ett exempel på ett källkodsavsnitt för ett C -program som konverterar strängen "Hello, World!" i Unicode :

// källsträng CHARtext[] = "Hej värld!"; // buffert för att få resultatet WCHAR buffert[256]; // konvertera sträng till Unicode MultiByteToWideChar(CP_ACP, 0, text, strlen(text) + 1, buffert, sizeof(buffert)/sizeof(WCHAR));

Se även

Anteckningar

  1. Stor förklarande ordbok för det ryska språket / Ch. ed. S. A. Kuznetsov. - St Petersburg. : Norint, 1998.
  2. Ordet "buffert" på webbplatsen gramota.ru . Hämtad 25 januari 2020. Arkiverad från originalet 22 oktober 2020.
  3. Buffert // Akademisk förklarande ordbok för det ryska språket / ed. L. P. Krysina. — Institutet för det ryska språket. V. V. Vinogradov RAN, 2016. - T. 2.
  4. Vaulina E. Yu. Buffer // Informatik. Förklarande ordbok .. - M . : Eksmo, 2005. - 480 sid. - (Skolordböcker). — ISBN 5-699-10277-9 .