Home

slaballokatorer

Slaballokatorer är minnesförvaltningsstrukturer som används i operativsystem och andra mjukvaruplattformar för effektiv hantering av små, frekvent allokerade objekt. Huvudidén är att minnet organiseras i slabar – block av en fast storlek som används för att lagra objekt av en viss typ. Varje objektklass får en slab-cache där lediga objekt hålls i en fri-lista och färdiga block kan återanvändas utan att söka nytt minne varje gång.

När en konstruktion av ett objekt krävs försöker allocatorn ta ett ledigt objekt från rätt cache. Om

Fördelar med slabbaserade allokatorer inkluderar mycket snabb tilldelning och frigöring, förbättrad cachekvalitet genom lokalitet och enklare

I många system används varianter som SLAB, SLUB eller SLOB, vilka skiljer sig i hur de organiserar

cachen
är
tom
byggs
antingen
en
ny
slab
bestående
av
flera
fasta
block
eller,
i
vissa
implementationer,
leadas
minne
från
någon
annan
källa.
När
objektet
inte
längre
behövs
returneras
det
till
sin
cache
och
blir
tillgängligt
igen,
vilket
minskar
kostnaderna
för
konstant
allokering
och
frigörande
samt
minimerar
fragmentering
över
tid.
återanvändning
av
objekt
med
liknande
livslängd.
Begränsningar
innefattar
ökad
komplexitet
och
overhead
för
metadata,
risk
för
underutnyttjande
av
minne
om
många
olika
objektstorlekar
används,
samt
att
inte
alla
minne
passar
en
fast
storleksmodell.
slabs,
hanterar
metadata
och
hur
de
fördelar
minne
över
processorns
kärntrådar.