Buferis

From Vikipēdija
Jump to navigation Jump to search

Buferis[1] (angļu: data buffer) informātikā un telesakaros ir atmiņas apgabals, datu glabāšanai. Atkarībā no risināmā uzdevuma, bufera struktūra var variēt.

Visbiežāk buferis datus glabā brīvpiekļuves atmiņā.

Buferu pielietojums[edit | edit source]

Programmkanāli un Rindas (FIFO-buferi)[edit | edit source]

Pārraides ātruma kompensācijas buferi ļauj apstrādāt sastrēgumus datu pārraidē. Pārraidītie dati tiek īslaicīgi saglabāti buferī, lai vēlāk tos apstrādātu. Šādi buferi īsteno rindas datu struktūru vai programmkanālu un darbojas pēc FIFO principa. Tehniski tie bieži vien tiek veidoti kā riņķveida buferi.

Tipisks piemērs ir drukas spolētāja rinda, kas pārvalda un apstrādā uz druku nosūtītos datus.

Steks (LIFO-buferi)[edit | edit source]

Steks var tikt izmantots kā buferis, kas saglabā sistēmas stāvokli programmas apakšfunkcijas izsaukuma gadījumā. Atgriešanās brīdī, buferis ļauj programmai turpināt darbu tur, kur tas tika pārtraukts. Steka buferi tiek arī izmantoti programmatūrā gadījumos, kad programmā ir nepieciešams īslaicīgi saglabāt datus, kuri vēlāk būs jāapstrādā.

Steks ir viena no visvecākajām datu struktūrām datortehnikā, un tiek atbalstīts arī mašīnkoda līmenī. Mašīnkoda komandas 'push' un 'pop' maina procesora steka rādītāju. Liels steka trūkums ir tas, ka stekam ir nemainīgs lielums, kas var novest pie steka bufera pārpildes.

Kešdarbe un kartēšana[edit | edit source]

Kešdarbē un kartēšanā (angļu: Caching and Mapping) buferis tiek izveidots ātrākas piekļuves atmiņā, lai pie biežāk lietotiem datiem piekļūtu ātrāk, nekā, piemēram, lasot no datora cietā diska. Dati buferī ir brīvi pieejami un adresācija buferī atbilst tai, kāda tā ir uz lēnākā medija. Arī rakstīšana notiek buferī, vēlāk mainītos datus sinhronizējot ar lēnāko mediju.

Pārnešana un lapošana (virtuālā atmiņa)[edit | edit source]

Virtuālās atmiņas mērķis pārnešanā un lapošanā (angļu: Swapping und Paging) ir tajā brīdī neizmantoto datu pārnešana no ātrākās atmiņas (piemēram, brīvpiekļuves atmiņa) uz lēnāko (piemēram, cietais disks). Šādā veidā tiek atbrīvota ātrākā, un visbiežāk arī mazākā un dārgākā, atmiņa. Tipisks lēnākās atmiņas (lapošanas bufera) piemērs ir lapošanas datne (angļu: Page file).

Procesu pārnešanu uz lapošanas datni parasti organizē pēc:

  • FIFO;
  • LRU (angļu: least recently used) — visilgāk nav lietots;
  • LFU (angļu: least frequently used) — visretāk lietots;
  • NRU (angļu: not recently used) — pēdējā laikā nelietots.

kritērijiem.

Kaudze[edit | edit source]

Programmas dinamiski rezervē kaudzei atmiņu, kur tiek glabāti neapstrādātie dati.

Starpliktuve[edit | edit source]

Starpliktuve (angļu: Clipboard) ir buferis, ar fiksētu vietu skaitu, kuras var tikt lasītas un rakstītas neatkarīgi viena no otra. Izplatītākajās operētājsistēmās starpliktuvē ir viena vieta. Ar paplidus programmatūras palīdzību iespējams iegūt starpliktuvi ar vairākām vietām.

Skatīt arī[edit | edit source]

Atsauces[edit | edit source]

  1. Dainuvīte Guļevska, Aina Miķelsone, Tamara Porīte. Pareizrakstības un pareizrunas rokasgrāmata. Rīga : Avots, 2002. 70. lpp. ISBN 9984-700-64-X.