内存mmap实现原理

内存mmap实现原理

ID:38587686

大小:163.50 KB

页数:36页

时间:2019-06-15

内存mmap实现原理_第1页
内存mmap实现原理_第2页
内存mmap实现原理_第3页
内存mmap实现原理_第4页
内存mmap实现原理_第5页
资源描述:

《内存mmap实现原理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、内存mmap实现原理内存mmap实现原理谨以此文纪念过往的岁月。结构体列表1.structrb_node_s2structpage3.structvm_area_struct4.structmm_struct函数列表do_mmapdo_mmap2红黑树结构    Linux内核从2.4.10开始,对虚拟区的组织不再采用AVL树,而是采用红黑树,这也是出于效率的考虑,虽然AVL树和红黑树很类似,但在插入和删除节点方面,采用红黑树的性能更好一些,下面对红黑树给予简单介绍。  一颗红黑树是具有以下特点的二叉树:(1)  每

2、个节点着有颜色,或者为红,或者为黑(2)  根节点为黑色(3)  如果一个节点为红色,那么它的子节点必须为黑色(4)  从一个节点到叶子节点上的所有路径都包含有相同的黑色节点数  红黑树的结构在include/linux/rbtree.h中定义如下:typedefstructrb_node_s{      structrb_node_s*rb_parent;      intrb_color;#defineRB_RED      0#defineRB_BLACK      1      structrb_node_s

3、*rb_right;      structrb_node_s*rb_left;}rb_node_t;O(∩_∩)O~structpage{      unsignedlongflags;        /*Atomicflags,somepossibly                                *updatedasynchronously*/      atomic_t_count;      /*Usagecount,seebelow.*/      union{            at

4、omic_t_mapcount;  /*Countofptesmappedinmms,                                *toshowwhenpageismapped                                *&limitreversemapsearches.                                */            struct{          /*SLUB*/                  u16inuse;       

5、           u16objects;            };      };      union{        struct{            unsignedlongprivate;            /*Mapping-privateopaquedata:                                      *usuallyusedforbuffer_heads                                      *ifPagePrivates

6、et;usedfor                                      *swp_entry_tifPageSwapCache;                                      *indicatesorderinthebuddy                                      *systemifPG_buddyisset.                                      */            structadd

7、ress_space*mapping;/*Iflowbitclear,pointsto                                      *inodeaddress_space,orNULL.                                      *Ifpagemappedasanonymous                                      *memory,lowbitisset,and                              

8、        *itpointstoanon_vmaobject:                                      *seePAGE_MAPPING_ANONbelow.                                      */        };#ifUSE_SPLIT_PTLOCKS    

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

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

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