Buffer (informatica)

Versiunea actuală a paginii nu a fost încă examinată de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 25 ianuarie 2020; verificările necesită 7 modificări .

În informatică buffer (din engleză  buffer ), pl. h. buffer [1] [2] , buffer -uri [3] [4]  este o zonă de memorie folosită pentru stocarea temporară a datelor în timpul intrării sau ieșirii. Schimbul de date (intrare și ieșire) poate avea loc atât cu dispozitive externe, cât și cu procese din interiorul computerului . Bufferele pot fi implementate în hardware sau software , dar marea majoritate a bufferelor sunt implementate în software. Tampoanele sunt utilizate atunci când există o diferență între rata la care sunt primite datele și rata la care sunt procesate sau când aceste rate sunt variabile, cum ar fi atunci când imprimarea este spool.

Buffer și cache

Acești termeni nu se exclud reciproc și funcțiile lor sunt adesea confuze, dar există o diferență în scopul lor. Un buffer este o stocare temporară în care blocuri mari de date sunt îmbinate sau împărțite în bucăți. Acest lucru este necesar pentru a interacționa cu un dispozitiv de stocare care funcționează cu blocuri mari de date sau atunci când datele sunt transferate într-o altă ordine decât cea în care sunt formate și este de dorit numai atunci când utilizarea blocurilor mici este ineficientă. Utilizarea unui buffer este benefică chiar dacă datele din buffer sunt scrise și citite din buffer o singură dată.

La rândul său, utilizarea unui cache implică faptul că datele vor fi citite din cache mai des decât scrise acolo. Scopul său este de a reduce numărul de accesări la memorie, nu de a le eficientiza.

Utilizarea bufferelor

Metoda de organizare a schimbului de date între dispozitive sau procese folosind un buffer se numește buffering . Unul dintre cele mai cunoscute exemple pentru utilizatorii de computere cu privire la această utilizare a tamponului este clipboard -ul din Microsoft Windows .

De asemenea, tampoanele sunt folosite în programare pentru a primi date de la funcții . Funcțiile API Windows care au ca rezultat o valoare șir (de exemplu, MultiByteToWideChar ) iau ca unul dintre argumente un pointer către buffer care urmează să fie scos. Iată un exemplu de fragment de cod sursă al unui program C care convertește șirul „Hello, World!” în Unicode :

// șirul sursă CHARtext[] = „Bună lume!”; // tampon pentru obținerea rezultatului tampon WCHAR[256]; // convertește șirul în Unicode MultiByteToWideChar(CP_ACP, 0, text, strlen(text) + 1, buffer, sizeof(buffer)/sizeof(WCHAR));

Vezi și

Note

  1. Marele dicționar explicativ al limbii ruse / Cap. ed. S. A. Kuznetsov. - Sankt Petersburg. : Norint, 1998.
  2. Cuvântul „buffer” de pe site-ul gramota.ru . Preluat la 25 ianuarie 2020. Arhivat din original la 22 octombrie 2020.
  3. Buffer // Dicționar explicativ academic al limbii ruse / ed. L. P. Krysina. — Institutul Limbii Ruse. V. V. Vinogradov RAN, 2016. - T. 2.
  4. Vaulina E. Yu. Buffer // Informatică. Dicţionar explicativ .. - M . : Eksmo, 2005. - 480 p. - (Dicționare școlare). — ISBN 5-699-10277-9 .