Kaj je krožni medpomnilnik?

Krožni medpomnilnik je bodisi vrsta vezja strojne opreme ali območje računalniškega pomnilnika, ki se uporablja za shranjevanje dohodnih informacij. Je medpomnilnik fiksne velikosti in ga lahko razumemo kot podatkovno strukturo, ki uporablja medpomnilnik, kot da bi bil povezan z enega konca na drugega. Imenuje se krožni pufer, ker daje videz krožnosti. Dodajanje več informacij, ko je medpomnilnik poln, povzroči, da prepiše prvi element, shranjen v medpomnilniku. Imenuje se tudi obročni medpomnilnik ali ciklični medpomnilnik.

Enostaven način za razumevanje krožnega blažilnika je, da si zamislimo linijo na avtobusni postaji. Podatki se vedno dodajo na en konec vrstice in se vedno odstranijo z drugega konca. Glava vrstice je vedno reža, v katero se dodajo informacije; zadnji konec vrstice je kraj, s katerega se informacije odstranijo. Rep in glava dajeta videz, da sta pri implementaciji v tej vrsti medpomnilnika, čeprav je medpomnilnik v resnici le blok pomnilnika. Za razliko od linije na avtobusni postaji pa je velikost medpomnilnika fiksna in ima določeno največjo zmogljivost.

To pomeni, da ko je medpomnilnik poln, začne prepisovati podatke na glavi. Največjo kapaciteto medpomnilnika je treba nastaviti vnaprej, in čeprav se lahko to število kadar koli spremeni, bodo vsi obstoječi podatki, ki so prisotni v medpomnilniku, izgubljeni. Običajno zaporedni procesi uporabljajo ciklične medpomnilnike za izmenjavo informacij, podatke, ki jih vnese en proces, pa bere drugi. Prvi proces, imenovan proizvajalec, postavi podatke v medpomnilnik, drugi proces, znan kot potrošnik, pa jih odstrani. Podprogrami uporabljajo tudi ciklične medpomnilnike za začasno shranjevanje podatkov.

Najbolj ugoden atribut krožnega medpomnilnika je način, kako shranjuje podatke. Ko odstranite predmet na koncu vrstice, se podatki ne premešajo. Če bi bil medpomnilnik nekrožen, bi morali vsi podatkovni elementi, prisotni v medpomnilniku, premakniti položaje, ko so bili podatki odstranjeni. Krožni medpomnilnik si lahko predstavljamo kot tip medpomnilnika First In First Out (FIFO), medtem ko je standardni medpomnilnik podoben tipu medpomnilnika Last In First Out (LIFO).

Ker krožni medpomnilnik shranjuje podatke v sosednjih območjih pomnilnika, omogoča hiter naključni dostop do podatkov. Ta tip medpomnilnika je enostaven za odpravljanje napak in je izjemno učinkovit. Služi kot predpomnilnik za shranjevanje določenega števila zadnjih vključenih podatkov. Prav tako je mogoče zelo hitro vstaviti in odstraniti podatke z obeh koncev, zaradi česar je idealen za številne aplikacije.