2.1. Úrovně správy paměti

Správa paměti je obvykle rozdělena do tří úrovní - můžeme ji studovat z pozice technického vybavení, operačního systému nebo aplikací. Ve většině počítačových systémů se tyto složky do jisté míry vyskytují současně a vytvářejí vrstvy mezi uživatelským programem a konkrétními paměťovými a řídicími prvky. V rámci předmětu Programovací techniky se budeme ovšem zabývat pouze aplikační vrstvou správy paměti. Dalším dvěma vrstvám se věnují předměty zaměřené na architektury počítačů a operační systémy.

Na úrovni technického vybavení se správa paměti zabývá elektronickými prvky, v nichž jsou data skutečně uložena. Tato oblast zahrnuje zejména paměťové prvky RAM a paměti typu cache.

Na úrovni operačního systému musí být paměť přidělována uživatelským programům a není-li dále programem vyžadována, pak je znovu použita pro jiné programy. Operační systém může předstírat, že má počítač mnohem více paměti než odpovídá skutečnosti, případně že každý program má celou dostupnou paměť pouze pro svou potřebu - tyto situace řeší systém virtuální paměti.

Konečně na úrovni aplikačních programů zahrnuje správa paměti přidělování úseků omezené dostupné paměti pro objekty a datové struktury programu a obvykle i opakované použití paměti, která již není obsazena. Správa paměti aplikace řeší dva hlaví úkoly:

Během přidělování a uvolňování paměti je třeba dodržovat jisté omezující podmínky, které zahrnují mimo jiné i časovou režii - dodatečný čas spotřebovaný správou paměti během činnosti programu, dobu pozdržení interaktivity - zpoždění, které pozoruje interaktivní uživatel, a paměťovou režii - množství paměti, které se spotřebuje pro administraci, zaokrouhlování velikosti bloků (tzv. interní fragmentace) a nevhodné využití paměti (tzv. externí fragmentace).