Virtuální paměť
Virtuální paměť je způsob správy paměti, který je současným trendem technologie používané v počítačích. Na hardwaru (fyzické části počítače, jako je procesor nebo grafická karta) běží software. Tento software potřebuje paměť počítače, aby mohl běžet a dělat to, co potřebuje. Většina dnes používaných počítačů dokáže dělat více věcí najednou, běží na nich více než jedna aplikace. Tomu se říká multiprocesing.
V tomto případě všechny programy nebo aplikace, které jsou v daném okamžiku spuštěny v počítači, sdílejí jeho prostředky. Počítač nemá více procesorů nebo operační paměti (RAM) jen proto, že na něm běží více programů.
Virtuální paměť spočívá v tom, že aplikace vidí blok paměti o dané velikosti. Aplikace může tuto paměť využívat podle svého uvážení. Tento blok paměti je virtuální v tom smyslu, že pochází z různých částí. Část z něj může být v hlavní paměti počítače, ale část může být také na disku. Procesor má speciální část nazvanou Arithmetic Logic Unit, která provádí některé překlady mezi pamětí aplikace a systémovými prostředky. Část této práce vykonávají také moderní operační systémy.
Pokud se program pokusí přistoupit k bloku paměti, který není v systémové paměti, je program zastaven a blok je načten do systémové paměti. To, co bylo v této části systémové paměti, se zapíše na disk. Tomuto postupu se obvykle říká stránkování.
Některé počítačové systémy, například vestavěné systémy, virtuální paměť nepoužívají, protože potřebují velmi rychlou odezvu nebo odezvu, která zůstává stále stejná. Jedním z problémů je, že u virtuální paměti je obtížné předvídat dobu odezvy. Aplikace, která využívá část paměti, kterou je třeba načíst z disku, bude mít jinou dobu odezvy než aplikace, která ji nevyužívá. Proto se koncept virtuální paměti ve vestavěných systémech nepoužívá.
Program si myslí, že má k dispozici velký rozsah souvislých adres, ale ve skutečnosti jsou části, které právě používá, roztroušeny po hlavní paměti a neaktivní části jsou uloženy v souboru na disku.
Otázky a odpovědi
Otázka: Co je to virtuální paměť?
Odpověď: Virtuální paměť je způsob správy počítačové paměti, který umožňuje aplikacím přistupovat k bloku paměti dané velikosti. Tento blok paměti může pocházet z různých částí, například z hlavní paměti nebo disku.
Otázka: Jak virtuální paměť funguje?
Odpověď: Virtuální paměť funguje tak, že umožňuje aritmeticko-logické jednotce procesoru provádět překlady mezi prostředky aplikace a systému. Část této práce vykonávají také moderní operační systémy. Když se aplikace pokusí přistoupit k bloku paměti, který není v systémové paměti, bude zastavena a blok bude načten do systémové paměti.
Otázka: Jaké jsou příklady počítačů, které nepoužívají virtuální paměť?
Odpověď: Jedním z příkladů počítačů, které nepoužívají virtuální paměť, jsou vestavěné systémy, protože potřebují rychlou odezvu nebo takovou, která zůstává stále stejná. U virtuální paměti je obtížné předvídat dobu odezvy, proto se ve vestavěných systémech nepoužívá.
Otázka: Co je to multiprocesing?
Odpověď: Multiprocesing je situace, kdy počítač může dělat více věcí najednou, běží na něm více aplikací najednou, které sdílejí jeho prostředky.
Otázka: Co se stane, když se aplikace pokusí přistoupit k bloku paměti, který není v systémové paměti?
Odpověď: Když se aplikace pokusí přistoupit k bloku paměti, který není v systémové paměti, bude zastavena a blok bude načten do systémové paměti.
Otázka: Co je stránkování?
Odpověď: Stránkováním se rozumí to, co se stane, když je třeba to, co bylo v dané části systémové paměti, zapsat zpět na disk, protože aplikace přistupuje k jiné části, která tam původně nebyla uložena.