Pojmem paměť se ve výpočetní technice označují fyzická zařízení, používaná k ukládání programů nebo dat pro okamžitou nebo trvalou potřebu v počítači nebo jiném digitálním elektronickém zařízení. Starší synonymum pro paměť je úložiště.
Paměti se dělí na energeticky závislé (energy-dependent memory) a energeticky nezávislé (non-volatile memory)
Paměť enegeticky závislá
Paměť enegeticky nezávislá
– po odpojení od elektřiny ztratí veškerá data
– hlavním zástupcem je RAM (random access memory)
– ta se dělí na SRAM (statická) a DRAM (dynamická)
– uchová uloženou informaci, i když není napájená
– hlavním zástupcem je ROM (read only memory), flash a pevný disk
– je mnohem pomalejší než hlavní paměť, ale ukládá více dat
Správa paměti
Řádná správa paměti je nezbytná pro správnou funkci počítačového systému. Moderní operační systémy používají pro řádnou správu paměti složité systémy. Pokud by je nepoužívaly, mohlo by docházet k chybám, sníženému výkonu, a v nejhorším případě i k napadení viry a škodlivým softwarem.
Při téměř jakékoli činnosti musí počítačový programátor uvažovat nad správou paměti. I při pouhém uložení čísla do paměti musí programátor určit, jak ho má paměť uložit.
Chyby při správě paměti
Při aritmetickém přetečení je výsledkem operace vyšší číslo, než jaké povoluje alokovaná paměť. Například 8bitové celé číslo se znaménkem umožňuje uložit čísla od −128 do +127. Pokud máme hodnotu 127 a instrukci přičteme jedničku, počítač nemůže výsledné číslo 128 uložit do přiděleného prostoru. Místo toho může například dojít ke změně hodnoty čísla na −128 namísto správných +128.
Únik paměti nastane, když si program vyžádá paměť od operačního systému, a po ukončení operace s pamětí už ji nevrátí zpátky. Program s touto chybou bude postupně vyžadovat více a více paměti, dokud neselže z důvodu nedostatku paměti.
K porušení ochrany paměti dochází, když se program snaží přistupovat k paměti, ke které nemá přístup povolen. Takový program bývá obvykle ukončen operačním systémem.
Přetečení vyrovnávací paměti znamená, že program zapisuje data na konec svého alokovanéhoprostoru, a pak pokračuje v zápisu dat stále dál, do paměti, která už patří jiným programům. To může mít za následek chybové chování programu, včetně chyb přístupu do paměti, nesprávných výsledků, pádu programu nebo narušení bezpečnosti systému.
Virtuální paměť
systém, ve kterém je všechna fyzická paměť řízena operačním systémem
když program potřebuje paměť, vyžádá si ji od operačního systému
dovoluje také používat více typů paměti
část paměti může být například umístěna v RAM čipech, zatímco zbytek je uložen na pevném disku
operační systém umístí aktivně používanou paměť do fyzické RAM, která je mnohem rychlejší než pevný disk
Chráněná paměť
systém, ve kterém má každý program přidělen k používání svou oblast paměti a nesmí se pohybovat mimo tento rozsah
používání chráněné paměti významně zvyšuje jak spolehlivost, tak bezpečnost počítačového systému
bez ochrany paměti se může stát, že chyba v jednom programu pozmění obsah paměti používané jiným programem
kvůli tomu pak tento jiný program používá data z poškozené paměti, což může mít nepředvídatelné následky
systémy ochrany paměti téměř vždy obsahují i virtuální paměť