《linux存储管理》ppt课件

《linux存储管理》ppt课件

ID:40011320

大小:349.50 KB

页数:52页

时间:2019-07-17

《linux存储管理》ppt课件_第1页
《linux存储管理》ppt课件_第2页
《linux存储管理》ppt课件_第3页
《linux存储管理》ppt课件_第4页
《linux存储管理》ppt课件_第5页
资源描述:

《《linux存储管理》ppt课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第二章LINUX存储管理LINUX的分页管理机制LINUX的地址划分每一个用户进程都可以访问4GB的线性虚拟内存空间。从0到3GB的虚拟内存地址是用户空间,用户进程可以直接对其进行访问。从3GB到4GB的虚拟内存地址为核心态空间,存放仅供核心态访问的代码和数据,用户态进程不可访问。所有进程从3GB到4GB的虚拟空间都是一样的,有同样的页目录项,同样的页表,对应到同样的物理内存段。LINUX以此方式让内核态进程共享代码段和数据段。内核态虚拟空间从3GB到3GB+4M的一段(也就是进程页目录第768项所管辖的范围)

2、,被映射到物理空间0到4M段。因此,进程处于核心态时,只要通过访问虚拟空间3GB到3GB+4M段,偏移地址0到4M,即访问了物理空间0到4M段。虚拟地址转换mm_struct(include/linux/sched.h)203structmm_struct{204structvm_area_struct*mmap;/*listofVMAs*/205structvm_area_struct*mmap_avl;/*treeofVMAs*/206structvm_area_struct*mmap_cache;/*la

3、stfind_vmaresult*/207pgd_t*pgd;208atomic_tmm_users;/*Howmanyuserswithuserspace?*/209atomic_tmm_count;/*Howmany进程/线程referto"structmm_struct"(userscountas1)*/210intmap_count;/*numberofVMAs*/211structsemaphoremmap_sem;/*对mmap操作的信号量*/212spinlock_tpage_table_lock

4、;214structlist_headmmlist;/*Listofallactivemm's*/216unsignedlongstart_code,end_code,start_data,end_data;217unsignedlongstart_brk,brk,start_stack;218unsignedlongarg_start,arg_end,env_start,env_end;219unsignedlongrss,total_vm,locked_vm;220unsignedlongdef_flags

5、;221unsignedlongcpu_vm_mask;222unsignedlongswap_cnt;/*numberofpagestoswaponnextpass*/223unsignedlongswap_address;226mm_context_tcontext;/*Architecture-specificMMcontext*/227};PCB对内存的控制(之一)structmm_struct结构的成员pgd_t*pgd;表示进程页目录的起始地址。PCB对内存的控制第二章LINUX存储管理虚存段(vm

6、a)的组织和管理(克服页表中空表项过烂问题)vma段(vitualmemoryarea)一个vma段是某个进程的一段连续的虚存空间;在这段虚存里的所有单元拥有相同的特征。例如:属于同一进程,相同的访问权限,同时被锁定(locked),同时受保护(protected),等等。vm_area_struct(include/linux/mm.h)41structvm_area_struct{42structmm_struct*vm_mm;/*VMareaparameters*/43unsignedlongvm_sta

7、rt;44unsignedlongvm_end;47structvm_area_struct*vm_next;/*linkedlistofVMareaspertask,sortedbyaddress*/49pgprot_tvm_page_prot;50unsignedlongvm_flags;53shortvm_avl_height;/*AVLtreeofVMareaspertask,sortedbyaddress*/54structvm_area_struct*vm_avl_left;55structvm_a

8、rea_struct*vm_avl_right;61structvm_area_struct*vm_next_share;62structvm_area_struct**vm_pprev_share;64structvm_operations_struct*vm_ops;65unsignedlongvm_pgoff;/*offsetinPAGE_SIZEunits,*not*PAGE_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。