Do tematu: Zarządzanie pamięcią

Do tematu: Struktury danych

struct vm_area_struct

    Strukturę zdefiniowano w pliku: ../include/linux/mm.h
    Struktura reprezentuje spójny obszar pamięci wirtualnej procesu.
 
Typ Nazwa Opis
struct mm_struct  * vm_mm struktura mm_struct procesu, do którego należy dany vm_area_struct.
unsigned long vm_start adres początku obszaru pamieci, który należy do danego struct vm_area_struct.
unsigned long  vm_end adres końca obszaru pamieci.
pgprot_t  vm_page_prot znaczniki ochrony .
unsigned short  vm_flags  różne flagi
short vm_avl_height pola organizujące struktury vm_area_struct procesu w strukturę drzewa, ktorego  elementy są uporzadkowane względem adresu poczatkowego obszaru pamięci reprezentowanego przez daną strukturę vm_area_struct: 

poziom w drzewie danej struktury

struct vm_area_struct * vm_avl_right lewy syn w drzewie 
struct vm_area_struct * vm_avl_left prawy  syn w drzewie
struct vm_area_struct * vm_next pole organizujące struktury vm_area_struct procesu w strukturę listy, kolejność elementów w liście zadaje porządek prefiksowy w drzewie AVL (patrz wyjaśnienie przy polu short): 

następny element w liście

struct vm_area_struct * vm_next_share wraz z polem vm_prev_share organizują w listę  struktury vm_area_struct ( różnych procesów ), używane dla obszarów z i-węzłem (np. mapowanie plików ) lub obszarów pamięci dzielonej: 

 następny  element w liście

struct vm_area_struct * vm_prev_share poprzedni element w liście
struct vm_operations_struct  * vm_ops funkcje obsługi  obszaru reprezentowanego przez strukturę.
unsigned long vm_offset offset w pliku , z mapowania którego pochodzą strony danej struktury 
struct inode  * vm_inode i_węzeł, z mapowania którego powstał obszar
unsigned long vm_pte katalog stron