struct mm_struct { struct vm_area_struct * mmap; //指向虚拟区间(VMA)的链表 struct rb_root mm_rb; //指向线性区对象红黑树的根 struct vm_area_struct * mmap_cache; //指向最近找到的虚拟区间 unsigned long(*get_unmapped_area) (struct file *filp, unsigned long addr, unsigned long len, unsi...
1struct mm_struct{2struct vm_area_struct*mmap;//指向虚拟区间(VMA)的链表3struct rb_root mm_rb;//指向线性区对象红黑树的根4struct vm_area_struct*mmap_cache;//指向最近找到的虚拟区间5unsignedlong(*get_unmapped_area)(struct file*filp,6unsigned long addr,unsigned long len,7unsigned long pgoff,...
mm_struct定义在include/linux/mm_types.h中,其中的域抽象了进程的地址空间,如下图所示: 1structmm_struct {2structvm_area_struct * mmap;//指向虚拟区间(VMA)的链表3structrb_root mm_rb;//指向线性区对象红黑树的根4structvm_area_struct * mmap_cache;//指向最近找到的虚拟区间5unsignedlong(*get_unmap...
struct vm_area_struct *mmap; //指向虚拟区间(VMA)链表 struct rb_root mm_rb; //指向red_black树 struct vm_area_struct *mmap_cache; //找到最近的虚拟区间 unsigned long(*get_unmapped_area)(struct file *filp,unsigned long addr,unsigned long len,unsigned long pgoof,unsigned long flags); void ...
struct vm_area_struct * mmap; /* 指向虚拟区间(VMA)链表 */ rb_root_t mm_rb; /*指向red_black树*/ struct vm_area_struct * mmap_cache; /* 指向最近找到的虚拟区间*/ pgd_t * pgd; /*指向进程的页目录*/ atomic_t mm_users; /* 用户空间中的有多少用户*/ ...
structvm_area_struct *mmap;//list of VMA rb_root_t mm_rb;//指向vma段红黑树的指针 structvm_area_struct *mmap_cache;//last find_vma result 存储上一次查询的操作的结果 pgd_t *pgd;//进程页目录的起始地址 atomic_t mm_users;//how many users with user space ...
structmm_struct{structvm_area_struct*mmap;/* list of VMAs */structrb_rootmm_rb;structvm_area_struct*mmap_cache;/* last find_vma result */...unsignedlongstart_code,end_code,start_data,end_data;unsignedlongstart_brk,brk,start_stack;...};structvm_area_struct{structmm_struct*vm_mm;/*...
{structvm_area_struct *mmap;//指向虚拟区间(VMA)链表structrb_root mm_rb;//指向red_black树structvm_area_struct *mmap_cache;//找到最近的虚拟区间unsignedlong(*get_unmapped_area)(structfile *filp,unsignedlongaddr,unsignedlonglen,unsignedlongpgoof,unsignedlongflags);void(*unmap_area)(structmm_struc...
8 struct vm_area_struct * mmap_cache; /* last find_vma result */ 9 10 //用来在进程地址空间中搜索有效的进程地址空间的函数 11 unsigned long (*get_unmapped_area) (struct file *filp, 12 unsigned long addr, unsigned long len, 13 unsigned long pgoff, unsigned long flags); ...
方法2 直接使用vm命令,这个更加方便。 crash> vm -m 2085PID: 2085 TASK: ffff88dcca1fa000 CPU: 61 COMMAND: "supervisor"struct mm_struct {{mmap = 0xffff88dcc9122658,mm_rb = {rb_node = 0xffff88dcc9123240},vmacache_seqnum = 1,get_unmapped_area = 0xffffffff8102ac20 <arch_get_unmapped...