日期:2014-05-16 浏览次数:20730 次
struct mm_struct { struct vm_area_struct *mmap; //list of VMA rb_root_t mm_rb; //指向vma段红黑树的指针 struct vm_area_struct *mmap_cache; //last find_vma result 存储上一次查询的操作的结果 pgd_t *pgd; //进程页目录的起始地址 atomic_t mm_users; //how many users with user space atomic_t mm_count; //how many reference to "struct mm_struct" int map_count; //Number of VMA struct rw_semaphore mmap_sem; //对mmap操作的互赤信号量 spinlock_t page_table_lock; //Protects task page tables and mm->rss struct list_head mmlist; //list of all active mm's. These are globally together off init_mm.mmlist,and are protected by mmlist_lock unsigned long start_code,end_code,start_data,end_data; unsigned long start_brk,brk,start_stack; unsigned long arg_start,arg_end,env_start,env_end; unsigned long rss,total_vm,locked_vm; //rss进程内容驻留在物理内存的页面地址 unsigned long def_flags; unsigned long cpu_vm_mask; unsigned long swap_address; //页面换出过程用到交换空间地址 un