close

Mezipaměti

Přejít na navigaci Přejít na hledání

Termín mezipaměť v informatice označuje extrémně rychlou paměťovou oblast, ale obvykle s nízkou kapacitou . Jeho účelem je urychlit provádění programů .

Jedním z příkladů je mezipaměť , která se používá k rychlému načtení dat a programů, u nichž se očekává, že budou v krátké době použity.

Etymologie a výslovnost

„Cache“ je anglická adaptace francouzského výrazu „caché“ (v italštině „skrytý“). Obvykle se vyslovuje / ˈkaʃ / (ovlivněno angličtinou / ˈkæʃ / ). Původ názvu pochází ze skutečnosti, že cache a její použití jsou pro programátora „transparentní“, v praxi „skryté“, protože jsou spravovány přímo operačním systémem nebo hardwarem .

Popis

Cache je spojena s hlavní pamětí, kde jsou uložena data. Má obvykle menší kapacitu než hlavní paměť, ale její použití je pohodlnější z hlediska přístupové doby a/nebo zatížení systému.

Když je vyžadován přístup k datům, je nejprve prohledána jejich kopie v mezipaměti: pokud je přítomna a platná, použije se tato kopie; jinak jsou data načtena z hlavní paměti a uložena do mezipaměti pro případ, že je lze použít později.

Hlavní pamětí může být hardware jako RAM (hlavní paměť procesoru) nebo pevný disk , ale také komplexní distribuovaná databáze , jako je DNS nebo web . V těchto případech lze hlavní paměť změnit bez procházení mezipaměti, což vede k problémům s konzistencí mezi „původními“ daty a daty v mezipaměti, což je možné nesouososti.

V některých případech je možné ověřit data obsažená v mezipaměti dotazem na hlavní paměť, zda jsou stále synchronizovaná a správná. To je úkol, který na webu dělají například proxy servery : zeptají se HTTP serveru , zda stránka, kterou vlastní, byla po uložení upravena, a pokud tomu tak není, vyhnou se jejímu přenosu a navrhnou ji přímo znovu. klientovi . _

V jiných případech se používá mechanismus časovaného vypršení platnosti pro uložená data, a pokud nevypršela platnost dat v mezipaměti, jsou používána, i když neodpovídají tomu, co je přítomno v hlavní paměti. Toto je mechanismus přijatý DNS.

Mezipaměť snižuje zatížení požadavků, které je třeba vymazat z hlavní paměti a ze spojení mezi ní a uživatelem dat. To může také pomoci zlepšit výkon systému. Představte si například proxy server , který používá mnoho uživatelů: když uživatel požádá o stránku, kterou si již vyžádal jiný, proxy bude moci odpovědět, aniž by se musel připojovat k původnímu webu, a tak se vyhne načítání původní stránky. webu a sítě, čímž se zlepší výkon systému i pro menší množství požadavků, které je třeba předávat původním webům.

Mezipaměť používá algoritmus k rozhodování o tom, která data zachovat a která zahodit, který bere v úvahu naposledy použité stránky, sousedství stránek nebo několik dalších faktorů.

Mezipaměť může indexovat uložená data na základě své adresy (blok paměti nebo dat na pevném disku) nebo svého „jména“ (asociativní mezipaměť, jako je webová stránka nebo název DNS ).

V některých případech vyrovnávací paměť také podporuje úpravu dat. To lze snadno implementovat, pokud je mezipaměť jedinou přístupovou cestou k hlavní paměti, jako je tomu v případě mezipaměti paměti RAM přítomné v procesorech: mezipaměť „přijme“ operaci zápisu do RAM, což umožňuje procesoru pokračovat ve zpracování , okamžitě předloží aktualizovaná data procesoru, pokud požádá o jejich opětovné načtení, a postará se o jejich zapsání do RAM před smazáním stránky. Tímto způsobem, pokud jsou data v paměti často upravována procesorem, je možné zachovat změny v mezipaměti a vyhnout se nepřetržitým přenosům do paměti RAM (viz Koherence mezipaměti ).

Všechny typy mezipaměti uložené v energeticky nezávislé paměti lze snadno odstranit buď přímo v příslušných složkách, nebo pomocí příkazů operačního systému nebo aplikace nebo pomocí některého z mnoha čističů třetích stran [1] , jako je např. například CCleaner .

Typologie

Termín cache nabývá různých významů v závislosti na termínu, se kterým je spojen, a v závislosti na kontextu. Pojďme si tedy povídat o: Memory cache , Disk cache, TLB - Translation Lookaside Buffer (Cache Table Table, Branch Prediction cache, Branch history table, Branch Target Address Cache, Trace cache), což jsou fyzické paměti.

Další jsou paměti spravované softwarem pro ukládání dočasných dat do vyhrazených prostorů MM, jako jsou: Mezipaměť disku, Mezipaměť stránek, Mezipaměť systému, Mezipaměť aplikací, Mezipaměť databáze , Webová mezipaměť , Mezipaměť DNS , Mezipaměť prohlížeče, Mezipaměť směrovače atd.

Některé z nich jsou pouze " Buffery " , tedy neasociativní paměti se sekvenčním přístupem (datové řetězce) ve srovnání s náhodnými přístupy prostřednictvím asociací adres mezipaměti a mezipaměti klasických keší.

Vyrovnávací paměť

Používá se pro urychlení přístupu k nejčastěji používaným paměťovým místům RAM a zejména ve víceprocesorových systémech se sdílenou pamětí (sdílenou), ke snížení provozu systémové sběrnice a hlavní paměti, což je jedna z hlavních úzkých hrdel těchto systémů. Jedná se o malé množství rychlé paměti instalované přímo na procesor nebo v jeho bezprostřední blízkosti. Tato paměť se používá k uložení instrukcí programu a dat , se kterými se má pracovat. Paměť typu SRAM se používá (oproti hlavní paměti DRAM ) kvůli vyšší přístupové rychlosti. Historicky to byla první použitá keš. Tato paměť byla (a stále se nazývá) „Cache memory“ nebo „Memory cache“ nebo jednoduše „ cache “. Někdy, ale velmi zřídka, se tomu také říká nevhodným termínem " CPU cache " (viz poznámka v Cache memory ). Na druhou stranu všechny ostatní cache, které ukládají jiné typy dat, jsou vždy definovány spojením jejich funkce s pojmem " cache ".

Mezipaměť stránek

Spočívá v tom, že část paměti RAM používá operační systém, ve kterém se z pevného disku kopírují aktuálně používaná data. V tomto případě je přístup k paměti RAM rychlejší než přístup k disku. Vzhledem k tomu, že dostupná paměť je obecně omezená, operační systém se snaží uchovat stránku v paměti co nejvíce tím, že udržuje tabulku stránek, které se aktuálně nepoužívají, ale byly v minulosti. Když je potřeba načíst novou stránku, přepíše se nejstarší dosud nepoužívaná stránka.

Disková mezipaměť

Spočívá v tom, že máme pevný disk , který má v sobě část RAM, kam lze načíst sektory disku logicky navazující na požadovaný. Při přístupu na disk v režimu čtení, pokud jsou požadovaná data přítomna v mezipaměti, je zabráněno pohybu čtecí hlavy disku, což urychluje načítání informací a pomáhá snížit opotřebení samotného disku.

DNS cache

Je to server DNS , který nemá autoritativní informace, ale je schopen o ně požádat autoritativní servery a ukládat odpovědi. Servery DNS používané uživateli internetu jsou obvykle servery mezipaměti. DNS používá mechanismus expirace, kdy každý záznam získaný z autoritativního serveru je platný po určitou dobu, po které musí být zahozen.

Webová mezipaměť

Jedná se o část pevného disku vyhrazenou http proxy serverem nebo uživatelským prohlížečem pro ukládání stránek tak, jak se načítají během navigace, což lze tedy znovu navrhnout, aniž byste museli znovu žádat vzdálený systém. V tomto případě je úzkým hrdlem, které chceme odstranit, úzké hrdlo šířky pásma . Operace ukládání stránky do mezipaměti však není vždy legitimní: vzpomeňte si například na operaci online bankovnictví. Obecně se jedná o stejnou webovou stránku, která je odeslána spolu s instrukcemi o jejím možném použití v mezipaměti; v některých případech můžete přinutit prohlížeč, aby stránku znovu načetl, podržením klávesy „ ctrl “ nebo „ Shift “ a zároveň kliknutím na ikonu znovu načíst.

Google cache

Správněji mezipaměť vyhledávače se skládá z kopií webových stránek uložených na serverech vyhledávače. Používají se ze dvou důvodů: k provádění místního vyhledávání na stránkách a k nabídnutí možnosti vidět kopii stránky, která není k dispozici, i když není aktualizována, kvůli momentálním problémům nebo protože byla odstraněna z původního serveru.

Mezipaměť prohlížeče

Prohlížeče používané na jakémkoli zařízení ukládají kromě historie prohlížení, zadaných uživatelských jmen a hesel, souborů cookie a dat stránek, informace pro vyplňování formulářů, dokonce i mezipaměť. To je reprezentováno procházením obsahu: soubory, obrázky, texty atd. Tuto mezipaměť lze snadno odstranit buď smazáním jednotlivých prvků ve složkách uživatele, pomocí příkazů prohlížeče nebo pomocí tzv. „čističů“.

Existence této mezipaměti usnadňuje a přizpůsobuje zážitek z prohlížení. Je zřejmé, že po odstranění načtené stránky „ztratí“ své předchozí nahrávky.

Konkrétní keše

Jakýkoli operační systém [2] , bez ohledu na typ zařízení, používá koncept mezipaměti pro několik účelů. Některé cache jsou snadno vymazatelné (ať už přímo nebo pomocí čističů), jiné jsou naopak takříkajíc polopermanentní v tom smyslu, že jejich data jsou uložena v systémových složkách/souborech nebo v konfiguračních databázích (např. registru" )[3]Windows Čištění mezipaměti tohoto typu proto obvykle vyžaduje pokročilou obsluhu. U některých systémů je dokonce nutné provést reset pro vymazání konkrétních mezipamětí.

V tomto případě má mezipaměť funkci optimalizace uživatelské zkušenosti. V praxi je používání zařízení rychlejší, plynulejší a personalizovanější.

Příklady mezipaměti operačního systému jsou:

  • vyhledávací slova zadaná a vybraná (pole „najít“ nebo „hledat“)
  • dočasné soubory (operační systém, aplikace, služby atd.)
  • dříve nahrané obrázky pro tapetu, zamykací obrazovku, přihlašovací obrazovku, spořič obrazovky, uživatelský profil nebo účet, ikony atd.
  • cesty periferních instalací
  • náhledy obrázků, videí, dokumentů, aby se rychleji zobrazily při otevření složky, která je obsahuje
  • zadané a provedené příkazy
  • uložená nastavení: pruhy, oznámení, nabídky, seznamy, historie atd.
  • velikosti oken a související nastavení grafiky
  • informace (data, soubory, různý obsah) používané aplikacemi nebo operačním systémem (tzv. „nedávné“ nebo protokoly)
  • data nejpoužívanějších programů (slouží ke zvýšení rychlosti otevírání)
  • odkazy na odinstalované aplikace a periferní zařízení (ovladače)
  • obrazy předchozích "stavů" systému, jako v případě obnovení, aktualizace, resetování nebo přeinstalace
  • přístupy ke složkám a souborům, cesty a síťová zařízení, uživatelé, periferie, různé služby
  • informace o přístupech k doméně
  • Šifrovací klíč a heslo pro obnovení zařízení TPM

Problémy související s používáním

Vyrovnávací paměť může značně zkomplikovat návrh elektronického zařízení nebo softwaru pro správu, protože je nutné udržovat konzistenci mezi vyrovnávací pamětí a hlavní pamětí. To je zvláště patrné u víceprocesorových strojů , kde vývoj procesorů a základních desek musí brát v úvahu potenciální problémy s koherencí mezipaměti a musí poskytovat adekvátní mechanismy, aby se zabránilo poškození dat kvůli problémům se synchronizací mezi vyrovnávací pamětí a hlavní pamětí.

Kromě toho musí být software pro správu mezipaměti vysoce sofistikovaný jak v implementaci, tak ve strategii (algoritmu) obnovy dat, aby se zabránilo tzv. režii obnovy . V zásadě se nikdy nesmí stát, že by prohledávání nebo ukládání dané cache paměti využívalo zdrojů (zejména času), aby samotnou obnovu příliš zatěžovalo, což by se paradoxně stalo pohodlnějším z paměti RAM.

Algoritmy správy dat mezipaměti jsou obecně spojeny se dvěma základními pojmy:

  1. lokalita kódu
  2. vymazání nejméně nedávno použitých dat z mezipaměti

První aspekt je přímo spojen s návrhem kódu, který ovlivňuje dobře definované paměťové stránky v každé fázi zpracování: jakmile je zpracování určité části kódu dokončeno, na použité paměťové stránky by se již nemělo odkazovat takovým způsobem, změnit umístění kódu, ale také údajů, které budou od tohoto okamžiku používány.

Druhý aspekt proto zajišťuje, že data přítomná ve vyrovnávací paměti a náležející k odkazované paměťové stránce, když umístění kódu bylo odlišné, mohou být z vyrovnávací paměti odstraněna, aby se vytvořil prostor pro data týkající se aktuálního umístění kódu.

Poznámky

  1. ^ Toto neplatí pro iOS .
  2. ^ Je třeba poznamenat, že Windows, Linux a Android poskytují příkazy k odstranění mezipaměti nebo v každém případě umožňují aplikacím třetích stran, aby tak učinily, a to i do hloubky. U systémů Apple je to historicky komplikované, ne-li záměrně nemožné (nutno provést reset).
  3. ^ V tomto případě se jedná o cache v rozšířeném smyslu.

Související položky

Externí odkazy