Co jsou data v mezipaměti? Způsobí to nějaké problémy, pokud vymažeme data uložená v mezipaměti?


Nejlepší odpověď

Díky za (více) A2A.

Data v mezipaměti jsou některá data, na která váš počítač / telefon / cokoli dříve velmi tvrdě pracovalo (načteno přes potenciálně pomalou síť, nebo bylo nutné používat hodně CPU, nebo dokonce museli číst z disku). Ukládá se někde rychleji než cokoli, co bylo použito k jeho získání / vytvoření jako první. Pokud je tedy soubor na vašem disku uložen v mezipaměti, není uložen v mezipaměti na váš disk, je uložen v mezipaměti v paměti. Pokud je soubor ze sítě uložen do mezipaměti, mohl by být uložen do mezipaměti v paměti nebo na vašem disku (nebo v obou).

Počítače mají mnoho různých mezipamětí. Spousta . Dokonce i věci, které můžete považovat za „rychlé“, jako je RAM ve vašem počítači, jsou ve skutečnosti natolik pomalé, že váš procesor má mezipaměť pro hodnoty RAM. Programy často obsahují více mezipaměti pro různé věci. Operační systém ukládá soubory na disk do paměti RAM a často poskytuje věci, které ukládají webové stránky do paměti RAM nebo na disk.

Jakákoli data v mezipaměti „by měla“ být něco, co lze znovu vytvořit nebo načíst. V některých případech to skutečně nejde, například pokud máte obrázek z webové stránky uložený v mezipaměti a z nějakého důvodu je mezipaměť vymazána, když nemáte síť, nemůžete tento obrázek získat zpět, dokud se síť nevrátí … nebo webová stránka se mohla změnit, v takovém případě se hodnota nikdy nevrátí.

Některé mezipaměti mají zabudované metody, které jim zabrání v zatuchnutí (jako kdyby web změnil obrázek každý den, ne se chcete podívat na obrázek z posledních měsíců jen proto, že je „rychlejší“). To je ve skutečnosti jeden z těžších problémů v počítačové vědě (zneplatnění mezipaměti). Existuje spousta zásad. Některé běžné jsou „zahoďte staré věci“, „zeptejte se webu / souborového systému / cokoli, pokud se věc změnila“, a osobní oblíbený „koho to zajímá“.

Takže „teoreticky“ házení pryč mezipaměť nemůže způsobit problém … a nemůže ji ani opravit. S výjimkou skutečného světa může být politika zneplatnění mezipaměti špatná a stará data jsou ukládána do mezipaměti a nyní jsou zastaralá, vymazání mezipaměti to napraví (woot!). Ve skutečném světě mohou být data také „nyní zastaralá“, ale aktuálně je nelze obnovit, takže vymazání mezipaměti způsobí problém (boo!).

Vymazání mezipaměti také způsobí, že bude pomaleji, zatímco věci, které kdysi byly v mezipaměti, a které znovu potřebujete, jsou znovu vypočítány / načteny / cokoli.

Odpovědět

Ve vašem počítači 🙂

mezipaměť je část hardwaru známá také jako SRAM (static ram). Má extrémně dobrý výkon. To však stojí za cenu. Doslova. Cena jako v mnoha $$$, protože SRAM je také extrémně drahý. Pokud by naše počítače byly složeny pouze ze SRAM, byly by neuvěřitelně drahé. Jako tolik, že by si je nikdo nemohl dovolit. Takže můžeme vidět, proč bychom chtěli použít SRAM (má podstatně lepší výkon než DRAM nebo místo na disku), ale pokud je to příliš drahé, proč bychom jej používali? Je to nepraktičnost drahá, že?

Ano, je. Někteří inteligentní inženýři však mysleli na kompromis. Co kdyby většina počítačové architektury byla stále složena z paměti DRAM a místa na disku (aby byla cenově dostupná), ale aby se stále udržoval výkon, který udrží spokojenost spotřebitelů, co kdybychom potřebovali jen malý kousek SRAM, který by urychlil naši výkon počítače MNOHO. Klíčové slovo: „tiny sliver“

Takže kde se používá „LRU cache“? No, sama o sobě vlastně není věc, která se nazývá „LRU cache“. Moderní mezipaměti, které si můžete představit jako naše malé kousky SRAM, nemají nekonečný prostor pro uchovávání dat, a pokud jste typickým spotřebitelem procházejícím web, neustále přecházející z webové stránky na webovou platformu, platformu na platformu, data obrat na vašem počítači bude velmi vysoký.

Jak tedy můžeme využít tento „malý kousek“ SRAM, když je náš obrat dat tak vysoký? To, co děláme, je, že se rozhodneme, jaké kousky dat budeme s největší pravděpodobností znovu používat, a budeme se snažit tyto kousky dat udržovat v našem malém kousku SRAM (naší mezipaměti), takže příště budeme potřebovat přístup ke společnému část dat, ke které má váš počítač přístup k těmto datům velmi rychle, protože jsou uchovávány v tom prameni SRAM. A jak přesně se rozhodneme, co si ponecháme a co ne? To je přesně místo, kde přichází koncept „LRU cache“. Existuje mnoho různých rozvržení mezipaměti používaných z různých důvodů (plně asociativní, set asociativní, přímo mapované atd.), Z nichž každá má své klady / zápory, ale nejvíce běžný způsob, jakým váš operační systém rozhoduje o tom, která data se mají uchovávat v SRAM a co vyhodit, je podívat se na data, která byla naposledy zpřístupněna. Dává to smysl, že? Pokud jste na něco právě klikli a klikli jste na to den před tím, den před tím a den před tím atd.…. Pravděpodobně má smysl uchovat tuto část dat v paměti SRAM, takže při příštím kliknutí na BOOM se to vytáhne. Ale co nějaký web, na který jste klikli před třemi měsíci a od té doby ne?Jak váš obrat v datech stále roste, váš OS bude v určitém okamžiku muset určit, co potřebuje k vyřazení ze SRAM, a bude říkat, že tento web nebyl kliknut za tři měsíce? Toto je nejméně nedávno použitá část dat v naší mezipaměti, tak to pojďme vykopnout.

Mezipaměť je část hardwaru známá jako SRAM, která má velmi dobrý výkon. Algoritmus vyklizení LRU určuje, jak váš operační systém rozhoduje, jaké části dat se mají uchovávat a vyřazovat z této vzácné paměti SRAM.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *