Slide 24
Slide 24 text
Small Allocation
Overview complète
24
CHUNKS
L’OS fournit de la mémoire en blocs de grande taille (typiquement 2 MB).
• Le Header (Page 0) contient des informations de gestion
(métadonnées, free_map, etc.).
• Le reste du chunk est divisé en Pages (environ 512 pages de 4 KB
chacune).
PAGES
Les pages servent de support aux RUNs (groupes contigus) qui sont
utilisés pour les petites allocations.
RUNs / BUCKETS
Chaque RUN correspond à un bucket dédié à une taille de bloc prédéfinie
(par exemple, 8, 16, 32 octets, etc.).
• Les tableaux comme bin_elements, bin_data_size et bin_pages
définissent, pour chaque bucket, la taille des blocs, le nombre de blocs
par RUN, etc.
ALLOCATION
Lorsqu’une petite allocation est demandée, le gestionnaire parcourt le
bucket correspondant et retourne l’un des blocs pré-alloués.