表示某进程的一个虚拟内存区域。
[b]struct vm_area_struct {
struct mm_struct * vm_mm;[/b] /* VM area parameters */
[b]unsigned long vm_start;
unsigned long vm_end;
pgprot_t vm_page_prot;
unsigned short vm_flags;[/b]
/* AVL tree of VM areas per task, sorted by address */
[b]short vm_avl_height;
struct vm_area_struct * vm_avl_left;
struct vm_area_struct * vm_avl_right;[/b]
/* linked list of VM areas per task, sorted by address */
[b]struct vm_area_struct * vm_next;[/b]
/* for areas with inode, the circular list inode->i_mmap */
/* for shm areas, the circular list of attaches */
/* otherwise unused */
[b]struct vm_area_struct * vm_next_share;
struct vm_area_struct * vm_prev_share;[/b]
/* more */
[b]struct vm_operations_struct * vm_ops;
unsigned long vm_offset;
struct inode * vm_inode;
unsigned long vm_pte;[/b] /* shared mem */
[b]};[/b]
[b]struct vm_area_struct {
struct mm_struct * vm_mm;[/b] /* VM area parameters */
[b]unsigned long vm_start;
unsigned long vm_end;
pgprot_t vm_page_prot;
unsigned short vm_flags;[/b]
/* AVL tree of VM areas per task, sorted by address */
[b]short vm_avl_height;
struct vm_area_struct * vm_avl_left;
struct vm_area_struct * vm_avl_right;[/b]
/* linked list of VM areas per task, sorted by address */
[b]struct vm_area_struct * vm_next;[/b]
/* for areas with inode, the circular list inode->i_mmap */
/* for shm areas, the circular list of attaches */
/* otherwise unused */
[b]struct vm_area_struct * vm_next_share;
struct vm_area_struct * vm_prev_share;[/b]
/* more */
[b]struct vm_operations_struct * vm_ops;
unsigned long vm_offset;
struct inode * vm_inode;
unsigned long vm_pte;[/b] /* shared mem */
[b]};[/b]