- 4
- 0
- 约3.6万字
- 约 36页
- 2017-07-06 发布于湖北
- 举报
内存mmap实现原理
内存mmap实现原理内存mmap实现原理
谨以此文纪念过往的岁月。
结构体列表
1. struct rb_node_s
2 struct page
3. struct vm_area_struct
4. struct mm_struct
函数列表
do_mmap
do_mmap2
红黑树结构
? ???Linux内核从2.4.10开始,对虚拟区的组织不再采用AVL树,而是采用红黑树,这也是出于效率的考虑,虽然AVL树和红黑树很类似,但在插入和删除节点方面,采用红黑树的性能更好一些,下面对红黑树给予简单介绍。
? ?一颗红黑树是具有以下特点的二叉树:
(1)? ?每个节点着有颜色,或者为红,或者为黑
(2)? ?根节点为黑色
(3)? ? 如果一个节点为红色,那么它的子节点必须为黑色
(4)? ? 从一个节点到叶子节点上的所有路径都包含有相同的黑色节点数? ?
红黑树的结构在include/linux/rbtree.h中定义如下:
typedef struct rb_node_s
{
? ?? ?? ?struct rb_node_s * rb_parent;
? ?? ?? ?int rb_color;
#define RB_RED? ?? ?? ? 0
#define RB_BLACK? ?? ???1
? ?? ???struct rb_node_s * rb_right;
? ?? ???struct rb_node_s * rb_left;
} rb_node_t;
O(∩_∩)O~
struct page {
? ?? ?? ?unsigned long flags;? ?? ?? ?? ?/* Atomic flags, some possibly
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?* updated asynchronously */
? ?? ?? ?atomic_t _count;? ?? ?? ? /* Usage count, see below. */
? ?? ?? ?union {
? ?? ?? ?? ?? ?? ? atomic_t _mapcount;? ?/* Count of ptes mapped in mms,
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?* to show when page is mapped
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?* limit reverse map searches.
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?*/
? ?? ?? ?? ?? ?? ? struct {? ?? ?? ?? ?? ?/* SLUB */
? ?? ?? ?? ?? ?? ?? ?? ?? ? u16 inuse;
? ?? ?? ?? ?? ?? ?? ?? ?? ? u16 objects;
? ?? ?? ?? ?? ?? ? };
? ?? ?? ?};
? ?? ?? ?union {
? ?? ?? ?? ? struct {
? ?? ?? ?? ?? ?? ? unsigned long private;? ?? ?? ?? ?? ???/* Mapping-private opaque data:
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ???* usually used for buffer_heads
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?* if PagePrivate set; used for
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?* swp_entry_t if PageSwapCache;
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?* indicates order in the buddy
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?* system if PG_buddy is set.
? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?? ?*/
? ?? ?? ?? ?? ?? ? stru
您可能关注的文档
最近下载
- 文学类文本陈国凡《饭局》阅读练习及答案(湖南2022届高三下5月).docx VIP
- 地基基础 课程教案.doc VIP
- 电力专业英语词汇.doc VIP
- 色度-方法确认报告方法验证方法证实报告.docx VIP
- 《Python程序设计实验》课程大纲(本科).docx VIP
- 七年级上册第二单元+友谊的天空+课件-2026年 中考道德与法治一轮复习.pptx VIP
- 河流动力学概论绪论.pptx VIP
- 一种基于数字孪生的仿真推演系统.pdf VIP
- 7.2.2“白山黑水”——东北三省 课件 2025-2026学年人教版地理八年级下册.pptx VIP
- 2025年陕西省中考语文试卷真题及答案详解(精校打印版).docx
原创力文档

文档评论(0)