linux内存管理学习方法,Linux学习心得——内存管理方法.pdf

Linux 学习心得——内存管理总结

目录

1. 概述3

2. 物理空间/虚拟空间3

2.1 物理空间3

2.1.1 物理空间概述3

2.1.2 Linux 内核分配的物理内存6

2.2 虚拟空间8

2.2.1 内核虚拟空间9

2.2.2 进程虚拟空间 11

2.3 物理空间和虚拟空间的转换 14

3. 内核使用内存 15

3.1 内核负责分配 15

3.1.1 物理内存管理 15

3.1.2 bootmem 系统 16

3.1.3 buddy 系统 18

3.1.4 CPU 页框高速缓存 18

3.1.5 管理区分配器 19

3.1.6 分区页框分配器/__get_free_pages 19

3.1.7 Vmalloc/vfree23

3.1.8 module_alloc/vfree26

3.1.9 dma_alloc_coherent/ dma_alloc_coherent 28

3.1.10 slab(cache)系统30

3.1.11 kmem_cache_alloc/ kmem_cache_free 32

3.1.12 kmalloc/kfree32

3.1.13 low mem 小结34

3.1.14 high mem 的使用34

3.1.15 kmap/ kunmap + alloc_pages( )/free_ pages( ) 35

3.1.16 kmap_atomic/ kunmap_atomic + alloc_pages( )/free_ pages( )37

3.2 内核不负责分配39

3.2.1 静态IO 映射/create_mapping 39

3.2.2 动态IO 映射/ ioremap/__iounmap 41

4. 进程使用内存43

4.1 基础知识43

4.1.1 内存描述符45

4.1.2 线性区描述符45

4.1.3 分配线性地址区间47

4.1.4 释放线性地址区间48

4.2 获取物理内存和建立物理内存到进程虚拟地址的映射48

4.2.1 非匿名映射;从buddy 系统获取物理内存;一次性映射完毕49

4.2.2 非匿名映射;从buddy 系统获取物理内存;缺页机制一页一页的映射52

4.2.3 非匿名映射;使用reserve 的物理内存;一次性映射完毕;53

4.2.4 非匿名映射;使用reserve 的物理内存;缺页机制一页一页的映射不可能54

4.2.5 匿名映射;从buddy 系统获取物理内存;一次性映射完毕 不可能54

4.2.6 匿名映射;使用reserve 的物理内存;一次性映射完毕 不可能55

4.2.7 匿名映射;使用reserve 的物理内存;缺页机制一页一页的映射不可能55

4.2.8 匿名映射;从buddy 系统获取物理内存;缺页机制一

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值