Do tematu: Zarządzanie pamięcią

Do tematu: Struktury danych

struct free_area_struct

  Strukturę zdefiniowano w pliku: ../mm/page_alloc.c.
    Struktura wykorzystywana przy zarządzaniu wolnymi ramkami. Reprezentuje ona dwukierunkową listę cykliczną spójnych bloków pamięci o określonej długości (w ramkach).  Sama lista jest zbudowana ze struktur mem_map_t , a spójny blok pamięci w liście jest reprezentowany jako ciąg  elementów w liście o określonej długości.  W pliku mm.h zadeklarowano tablice struktur free_area_struct:

     static struct free_area_struct free_area[NR_MEM_LISTS]

Pole o indeksie order jest strukturą reprezentującą wolne, spójne segmenty o długości 2^order. Potrzeba przechowywania ramek wolnej pamięci w postaci bloków o określonej długości jest uzasadniona sposobem przydziału pamięci dla jądra.
 
Typ Nazwa Opis
struct 
mem_map_t *
next "pierwszy" element listy cyklicznej struktur  mem_map_t 
struct mem_map_t * prev "ostatni" element listy cyklicznej struktur  mem_map_t 
unsigned int * map adres poczatku elementów listy