Memóriakezelési technikák

Memóriakezelési technikák röviden (bővítendő).

Partícionált tárkezelés

A tárat összefüggő szeletekre, „partíciókra" bontják. Ezek a szeletek lehetnek fix (régebbi) vagy dinamikus (modernebb) méretűek. Ezekbe a partíciókba töltődnek be a programok. A partíciók áthelyezhetőek (amit időnként az operációs rendszer meg is tesz), így csökkenthető a memóriaterület fragmentáltsága.

Problémák

  • Fix méretű partícióknál mekkorák legyenek a partíciók?
  • Hogyan töltsük be újra a felszabaduló helyeket?

Lapozásos technika

A futtatandó program címtartományát és a memóriát is azonos hosszúságú szeletekre bontják: a program lapjainak és a tár blokkjának a kapcsolatát laptáblázatokba írják. A programozó nem ismeri a program helyét a tárban. A címzés a lapcím vagy blokkcím + a lapon belüli eltolás alapján valósul meg.

Problémák

  • Laptáblázat kezelése
  • Lapméret optimalizálása
  • A futtatandó program minden lapjának a tárban kell lennie induláskor

Lapigényléses technika

A programozó a memória méretétől függően címtartománnyal rendelkezik. Csak az éppen végrehajtandó utasítást és a hozzá tartozó adatokat tartalmazó lapok vannak egyidejűleg a memóriában.

Szegmentált tárkezelés

A programot különböző méretű modulokra bontjuk (ez lehet programozói vagy fordítóprogram szintű döntés), a modulokat pedig egymástól függetlenül kezeljük a memóriában. A címfordítás szegmenstáblán keresztül történik (összeadással), továbbá itt tárolódik a szegmens mérete is. A szegmensek különböző hosszúságúak lehetnek. Kijelölhető a program helye a tárban, minden tárhivatkozásnál meg kell jelölni a szegmenst és az azon belüli címet.

Virtuális tárképzés

A lapkezeléses módszerek és a szegmentálás keverése: a szegmensek lapokból állnak, így transzparens módon biztosítja a memória hatékony használatát, míg a szegmentáció a program logikájának megjelenítését biztosítja a memóriakezelésben.