Tampon de date - Data buffer

În informatică , un buffer de date (sau doar buffer ) este o regiune a unei stocări de memorie fizică folosită pentru stocarea temporară a datelor în timp ce acestea sunt mutate dintr-un loc în altul. De obicei, datele sunt stocate într-un buffer, deoarece sunt preluate de pe un dispozitiv de intrare (cum ar fi un microfon) sau chiar înainte de a fi trimise către un dispozitiv de ieșire (cum ar fi difuzoarele). Cu toate acestea, un buffer poate fi utilizat la mutarea datelor între procese în interiorul unui computer. Acest lucru este comparabil cu bufferele din telecomunicații. Bufferele pot fi implementate într-o locație fixă ​​de memorie în hardware - sau utilizând un buffer virtual de date în software, indicând o locație din memoria fizică. În toate cazurile, datele stocate într-un buffer de date sunt stocate pe un mediu de stocare fizic . Majoritatea bufferelor sunt implementate în software , care utilizează de obicei memoria RAM mai rapidă pentru a stoca date temporare, datorită timpului de acces mult mai rapid în comparație cu unitățile de hard disk . Tampoanele sunt utilizate în mod obișnuit atunci când există o diferență între viteza la care sunt primite datele și rata la care pot fi procesate sau în cazul în care aceste rate sunt variabile, de exemplu într-o spooler de imprimantă sau în fluxul video online . În mediul de calcul distribuit , tamponul de date este adesea implementat sub forma unui buffer de rafală care oferă un serviciu de tamponare distribuită.

Un tampon ajustează adesea sincronizarea prin implementarea unui algoritm de coadă (sau FIFO ) în memorie, scriind simultan date în coadă la o rată și citind-o la o altă rată.

Aplicații

Tampoanele sunt adesea utilizate împreună cu I / O către hardware , cum ar fi unitățile de disc , trimiterea sau primirea de date către sau dintr-o rețea sau redarea sunetului pe un difuzor. O linie către o rusă într-un parc de distracții împărtășește multe asemănări. Oamenii care călătoresc pe coaster intră într-un ritm necunoscut și adesea variabil, dar roller coasterul va putea încărca oamenii în rafale (pe măsură ce un coaster ajunge și este încărcat). Zona de coadă acționează ca un tampon - un spațiu temporar în care cei care doresc să călătorească așteaptă până când călătoria este disponibilă. Tampoanele sunt de obicei utilizate într-o metodă FIFO (primul intrat , primul ieșit), oferind date în ordinea în care a ajuns.

Tampoanele pot crește performanța aplicației, permițând operațiunilor sincrone , cum ar fi citirile sau scrierile de fișiere, să se finalizeze rapid în loc de blocare în timp ce așteptați întreruperile hardware pentru a accesa un subsistem de disc fizic; în schimb, un sistem de operare poate returna imediat un rezultat reușit dintr-un apel API, permițând unei aplicații să continue procesarea în timp ce nucleul finalizează operația de disc în fundal. Beneficii suplimentare pot fi obținute dacă aplicația citește sau scrie blocuri mici de date care nu corespund cu dimensiunea blocului subsistemului discului, permițând utilizarea unui buffer pentru a agrega multe operații mai mici de citire sau scriere în dimensiuni de blocuri care sunt mai eficiente pentru subsistemul discului, sau, în cazul unei citiri, uneori pentru a evita complet accesarea fizică a unui disc.

Tampon de telecomunicații

O rutină tampon sau un mediu de stocare utilizat în telecomunicații compensează diferența de viteză a fluxului de date sau timpul de apariție a evenimentelor atunci când se transferă date de la un dispozitiv la altul.

Tampoanele sunt utilizate în mai multe scopuri, inclusiv:

  • Interconectarea a două circuite digitale care funcționează la rate diferite,
  • Păstrarea datelor pentru utilizare ulterioară,
  • Permițând efectuarea corecțiilor de sincronizare pe un flux de date ,
  • Colectarea de biți de date binare în grupuri care pot fi apoi operate ca unitate,
  • Întârzierea timpului de tranzit al unui semnal pentru a permite alte operațiuni.

Exemple

  • The Buffers comanda declarație / în CONFIG.SYS din DOS .
  • Tamponul dintre un port serial ( UART ) și un modem . Portul COM Viteza poate fi 38400 biți / s în timp ce modemul poate avea doar un / s 14400 biți purtător .
  • Tamponul integrat pe o unitate de hard disk, imprimantă sau altă piesă hardware.
  • Framebuffer pe o placă video.

Istorie

O mențiune timpurie a unui tampon de imprimare este „Outscriber” conceput de pionierul procesării imaginilor Russel A. Kirsch pentru computerul SEAC în 1952:

Una dintre cele mai importante probleme în proiectarea computerelor digitale automate este aceea de a obține rezultatele calculate din mașină suficient de rapid pentru a evita întârzierea progresului în continuare al calculelor. În multe dintre problemele cărora li se aplică un computer de uz general, cantitatea de date de ieșire este relativ mare - atât de mare încât ar rezulta o ineficiență gravă din forțarea computerului să aștepte introducerea acestor date pe dispozitivele de imprimare existente. Această dificultate a fost rezolvată în SEAC prin furnizarea de dispozitive de înregistrare magnetică ca unități de ieșire. Aceste dispozitive sunt capabile să primească informații de la mașină la rate de până la 100 de ori mai rapide decât o mașină de scris electrică poate fi acționată. Astfel, se obține o eficiență mai bună în înregistrarea datelor de ieșire; transcrierea poate fi făcută ulterior de pe dispozitivul de înregistrare magnetică pe un dispozitiv de imprimare fără a lega computerul principal.

Vezi si

Referințe