Što je kružni međuspremnik?

Kružni međuspremnik je ili vrsta hardverskog sklopa ili područje računalne memorije koje se koristi za pohranjivanje dolaznih informacija. To je međuspremnik fiksne veličine i može se shvatiti kao struktura podataka koja koristi međuspremnik kao da je povezan s jednog kraja na drugi. Zove se kružni tampon jer daje izgled kružnosti. Dodavanje više informacija kada je međuspremnik pun uzrokuje prepisivanje prvog elementa pohranjenog u međuspremniku. Naziva se i prstenasti pufer ili ciklički pufer.

Jednostavan način razumijevanja kružnog međuspremnika je zamisliti liniju na autobusnoj stanici. Podaci se uvijek dodaju na jedan kraj linije i uvijek se uklanjaju s drugog kraja. Glava linije je uvijek utor u koji se dodaju informacije; kraj linije je mjesto s kojeg se informacije uklanjaju. Rep i glava daju dojam da su jedan pored drugog u implementaciji u ovoj vrsti međuspremnika, iako je međuspremnik, u stvari, samo blok memorije. Međutim, za razliku od linije na autobusnom kolodvoru, veličina međuspremnika je fiksna i ima određeni maksimalni kapacitet.

To znači, kada je međuspremnik pun, on počinje prepisivati ​​podatke na vrhu. Maksimalni kapacitet međuspremnika mora se unaprijed postaviti, a iako se taj broj može promijeniti u bilo kojem trenutku, svi postojeći podaci prisutni u međuspremniku bit će izgubljeni. Tipično, sekvencijalni procesi koriste cikličke međuspremnike za razmjenu informacija, a podatke koje unese jedan proces čita drugi. Prvi proces, nazvan proizvođač, stavlja podatke u međuspremnik, a drugi proces, poznat kao potrošač, vadi ih. Rutine također koriste cikličke međuspremnike za privremeno pohranjivanje podataka.

Najpovoljniji atribut kružnog međuspremnika je način na koji pohranjuje podatke. Podaci se ne miješaju kada se ukloni objekt na kraju retka. Da međuspremnik nije kružni, svi elementi podataka prisutni u međuspremniku morali bi pomaknuti pozicije kada su podaci uklonjeni. Kružni međuspremnik može se smatrati tipom međuspremnika First In First Out (FIFO), dok standardni međuspremnik nalikuje tipu međuspremnika Last In First Out (LIFO).

Kako kružni međuspremnik pohranjuje podatke u susjednim područjima memorije, omogućuje brzi nasumični pristup podacima. Ovaj tip međuspremnika je jednostavan za otklanjanje pogrešaka i iznimno je učinkovit. Služi kao predmemorija za pohranjivanje određenog broja zadnjih uključenih podataka. Također je moguće vrlo brzo umetnuti i ukloniti podatke s oba kraja, što ga čini idealnim za brojne aplikacije.