进程虚拟地址空间03G1.ppt

上传人:sccc 文档编号:5330969 上传时间:2023-06-26 格式:PPT 页数:10 大小:959.03KB
返回 下载 相关 举报
进程虚拟地址空间03G1.ppt_第1页
第1页 / 共10页
进程虚拟地址空间03G1.ppt_第2页
第2页 / 共10页
进程虚拟地址空间03G1.ppt_第3页
第3页 / 共10页
进程虚拟地址空间03G1.ppt_第4页
第4页 / 共10页
进程虚拟地址空间03G1.ppt_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《进程虚拟地址空间03G1.ppt》由会员分享,可在线阅读,更多相关《进程虚拟地址空间03G1.ppt(10页珍藏版)》请在三一办公上搜索。

1、进程虚拟地址空间(03G-1),进程地址空间,struct mm_struct 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;/*用户空间中的有多少用户*/atomic_t mm_count;/*对struct mm_struct有多少引用*/int map_count;/*虚拟区间的个数*/struct list_he

2、ad mmlist;/*所有活动(active)mm的链表*/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;,内核使用mm_struct来描述一个进程的虚拟地址空间,struct vm_area_struct:用来描述一个虚拟内存区域(VMA)。内核将每个内存区域作为一个单独的内存对象管理,每个内存区域都有一致的属性,比如权限等。所以我们程序的代码段、数据

3、段和bss段在内核里都分别有一个struct vm_area_struct 结构体来描述,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;/*虚拟内存区域的标志.*/rb_node_t vm

4、_rb;/*对这个虚拟内存区域进行操作的函数*/struct vm_operations_struct*vm_ops;struct file*vm_file;/*File we map to(can be NULL).*/;,vm_flags的取值:VM_READ:此虚拟内存区域可读VM_WRITE:此虚拟内存区域可写VM_EXEC:此虚拟内存区域可执行VM_SHARED:此虚拟内存区域可共享VM_IO:此虚拟内存区域映射设备I/O空间,用户空间的mmap,测试:把一个文件用mmap()映射到进程地址空间里后,直接访问文件内容,有了write/read,为什么还需要mmap?,用户空间的mma

5、p()会通过系统调用调用到内核的do_mmap()函数。do_mmap()函数会:1.首先创建一个新的VMA并初始化,然后加入进程的虚拟地址空间里。2.然后调用驱动的mmap函数建立上述用户空间的VMA和驱动空间的内存地址之间的联系(建立页表),用户空间mmap的内核实现,建立vma和物理地址的映射的工作由remap_pfn_range来完成,原型如下:int remap_pfn_range(struct vm_area_struct*vma,unsigned long virt_addr,unsigned long pfn,unsigned long size,pgprot_t prot);vma 需要建立映射的VMAvirt_addr 需要建立映射的VMA的起始地址pfn 页帧号,对应虚拟地址应当被映射的物理地址.这个页帧号简单地是物理地 址右移 PAGE_SHIFT 位size 需要建立映射的VMA的大小,以字节.prot 使用在 vma-vm_page_prot 中找到的值.,驱动的mmap建立虚拟地址和 物理地址的映射,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号