next up previous contents
Next: 1.3.1 Struktury danych regionu Up: 1 Obsługa wirtualnej przestrzeni Previous: 1.2 Deskryptor pamięci   Spis rzeczy

1.3 Regiony pamięci

Każdy region określa ciągły zakres adresów liniowych. Posiadane przez proces regiony pamięci nigdy nie zachodzą na siebie i wszystkie razem określają całą przestrzeń adresową procesu.

Typ deskryptora regionu pamięci:

struct vm_area_struct {
        struct mm_struct * vm_mm;
        unsigned long vm_start;
        unsigned long vm_end;
        struct vm_area_struct *vm_next;
        pgprot_t vm_page_prot;
        unsigned long vm_flags;
        short vm_avl_height;
        struct vm_area_struct *vm_avl_left, *vm_avl_right;
        struct vm_area_struct *vm_next_share, **vm_pprev_share;
        struct vm_operations_struct *vm_ops;
        unsigned long vm_pgoff;
        struct file *vm_file;
        unsigned long vm_raend;
        void *vm_private_data; 
};

Aktualnie najważniejszymi polami deskryptora regionu są:

vm_mm
Wskazuje deskryptor pamięci procesu, który jest właścicielem regionu.
vm_start i vm_end
Zawierają odpowiednio pierwszy i ostatni adres liniowy ciągłego obszaru reprezentowanego przez region.



Subsections

2001-11-25