Buffer (informatika)

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 25. ledna 2020; kontroly vyžadují 7 úprav .

V informatice buffer (z angl .  buffer ), pl. h. buffer [1] [2] , buffery [3] [4]  je paměťová oblast používaná pro dočasné ukládání dat během vstupu nebo výstupu. Výměna dat (vstup a výstup) může probíhat jak s externími zařízeními, tak s procesy v počítači . Vyrovnávací paměti mohou být implementovány v hardwaru nebo softwaru , ale velká většina vyrovnávacích pamětí je implementována v softwaru. Vyrovnávací paměti se používají, když existuje rozdíl mezi rychlostí, jakou jsou data přijímána, a rychlostí, kterou jsou zpracovávána, nebo když jsou tyto rychlosti proměnlivé, například když je tisk zařazován.

Vyrovnávací paměť a mezipaměť

Tyto pojmy se vzájemně nevylučují a jejich funkce jsou často zaměňovány, ale existuje rozdíl v jejich účelu. Vyrovnávací paměť je dočasné úložiště, kde jsou velké bloky dat sloučeny nebo rozděleny na části. To je nezbytné pro interakci s úložným zařízením , které pracuje s velkými bloky dat, nebo když jsou data přenášena v jiném pořadí, než v jakém jsou vytvořena, a je to žádoucí pouze tehdy, když je použití malých bloků neefektivní. Použití vyrovnávací paměti je výhodné, i když jsou data uložená ve vyrovnávací paměti zapsána a čtena z vyrovnávací paměti pouze jednou.

Použití mezipaměti zase znamená, že data budou z mezipaměti častěji čtena, než do ní zapisována. Jeho účelem je snížit počet přístupů do paměti, nikoli je zefektivnit.

Použití vyrovnávacích pamětí

Metoda organizace výměny dat mezi zařízeními nebo procesy pomocí vyrovnávací paměti se nazývá vyrovnávací paměť . Jedním z nejznámějších příkladů tohoto použití vyrovnávací paměti pro uživatele PC je schránka v systému Microsoft Windows .

Vyrovnávací paměti se také používají při programování pro příjem dat z funkcí . Funkce rozhraní Windows API , jejichž výsledkem je řetězcová hodnota (například MultiByteToWideChar ), berou jako jeden z argumentů ukazatel na vyrovnávací paměť, která má být odeslána. Zde je příklad fragmentu zdrojového kódu programu C , který převádí řetězec "Hello, World!" v Unicode :

// zdrojový řetězec CHARtext[] = "Ahoj světe!"; // buffer pro získání výsledku WCHAR buffer[256]; // převod řetězce na Unicode MultiByteToWideChar(CP_ACP, 0, text, strlen(text) + 1, buffer, sizeof(buffer)/sizeof(WCHAR));

Viz také

Poznámky

  1. Velký výkladový slovník ruského jazyka / Ch. vyd. S. A. Kuzněcov. - Petrohrad. : Norint, 1998.
  2. Slovo „buffer“ na webu gramota.ru . Získáno 25. ledna 2020. Archivováno z originálu dne 22. října 2020.
  3. Buffer // Akademický výkladový slovník ruského jazyka / ed. L. P. Krysina. — Ústav jazyka ruského. V. V. Vinogradov RAN, 2016. - T. 2.
  4. Vaulina E. Yu. Buffer // Informatika. Výkladový slovník .. - M . : Eksmo, 2005. - 480 s. - (Školní slovníky). — ISBN 5-699-10277-9 .