Memóriakezelő
A memóriakezelő egy számítógépes program része (mind az alkalmazás , mind az operációs rendszer ), amely feldolgozza a RAM lefoglalására és felszabadítására irányuló kéréseket, vagy (egyes számítógép - architektúrák esetén ) egy adott memóriaterületnek a processzor címterébe való felvételére irányuló kéréseket .
A memóriakezelő fő célja az első értelemben a dinamikus memória megvalósítása . Például a C nyelvben a dinamikus memóriafoglalás a .
malloc
Memóriakezelők hierarchiája
A memóriakezelők gyakran hierarchiát alkotnak: az alacsonyabb szintű menedzserek valamilyen memóriafoglalási-felszabadítási mintát használnak, és így csökkentik a magasabbak terhelését. Például:
- Rendszer . A tetején található az operációs rendszerbe épített memóriakezelő. Hozzájárul ez vagy az az oldal a folyamat címteréhez - ami azt jelenti, hogy 4 kilobájt diszkrétséggel működik, ami nagyon lelassítja.
- a folyamat tulajdonában van. A programozási nyelv szabványkönyvtárába beépített memóriakezelő „tömbben” veszi a memóriablokkokat az operációs rendszerből, és a programozó igényei szerint osztja el azokat. Ugyanakkor tudja, hogy a memóriát csak egy folyamat kapja – ami azt jelenti, hogy a szálszinkronizálást nem mutexek , hanem futexek végzik . A kernel módba váltás pedig két esetben történik: vagy ha nincs elég „működési tartalék” a memóriából, és hozzá kell férni az operációs rendszerhez, vagy ha valamelyik szál „megbotlik” egy forgalmas futexen.
- Szakosodott . Egyes dinamikus adatstruktúrák, mint például az std::vector , szintén átveszik a memóriát a szabványos könyvtárból (általában exponenciálisan nagyobb méretű blokkokban). Így az elemek egyenként kerülnek hozzáadásra, de a felfelé irányuló menedzser hívása egyszer történik nagyszámú elem esetén. Az objektumkészlet memóriát foglal le egy adott típusú objektum számára, és hasznos, ha nagy mennyiségben vannak lefoglalva/felszabadítva stb.
Az ilyen hierarchia ahhoz a tényhez vezet, hogy minden szinten van „elöregedett” szabad memória. De ez indokolt: csökken a memória töredezettsége és nő a sebesség.
Lásd még