
linux内存管理
文章平均质量分 87
老王不让用
芝兰生于幽谷,不以无人而不芳; 君子修身立德,不为穷困而改节
展开
-
linux dma机制
目录1 物理地址、虚拟地址和总线地址2 DMA能搬运哪些内存?3 DMA的寻址能力4 两种类型的DMA mapping:一致性DMA映射&流式DMA映射4.1 一致性DMA4.2 流式DMA5 一致性DMA映射API的使用5.1 申请一致性DMA5.2 释放一致性DMA5.3 一致性小块DMA的管理:DMA pool6 流式DMA映射API的使用6.1 DMA的方向6.2 流式DMA相关接口6.2.1 映射一整块内存区域6.2.2 映射sc转载 2022-05-26 16:39:57 · 3384 阅读 · 0 评论 -
linux内存管理之 ION 内存管理器浅析Ⅱ(system contig heap)
目录1 system contig heap 与 system heap2 system contig heap创建3 system contig heap内存分配4 system contig heap内存释放1 system contig heap 与 system heap从代码中我们看到system contig heap与system heap同属一个文件中,ion_system_heap.c相同点:它们都是根据用户传递的字节len,转换成order,从buddy中转载 2022-04-06 16:03:37 · 843 阅读 · 0 评论 -
linux内存管理之 ION 内存管理器浅析Ⅰ(system heap)
目录1 什么是ION2 ION中不同 type 的 heap3 ION分配(以system heap为例)3.1 ion_alloc()3.2 ion_system_heap_allocate()3.3 alloc_largest_available()3.4alloc_buffer_page()3.5 ion_page_pool_alloc()3.6 ion_page_pool_remove()3.7 ion_page_pool_alloc_pages()4..转载 2022-04-06 16:48:57 · 10632 阅读 · 0 评论 -
linux CMA 内存分配器(Contiguous Memory Allocator)
目录1 什么是CMA2 CMA配置2.1 cmdline 配置2.2 设备树配置节点2.3 其他CMA区创建3 CMA 初始化cma_init_reserved_mem()4 CMA区域释放给buddy4.1cma_init_reserved_areas()4.2 cma_activate_area()4.3init_cma_reserved_pageblock()【核心】5 CMA的分配6 CMA的释放7 CMA与buddy1 什么是CMA...转载 2022-04-06 19:30:37 · 2035 阅读 · 0 评论 -
linux 内存管理
目录1Linux内存管理概述1.1 内存的层次结构1.2 虚拟内存概述1.2.1 虚拟内存基本思想1.2.2 进程虚拟地址空间1.3 内核空间到物理空间的映射1.3.1 内核空间的线性映射1.3.2 内核镜像的物理存储1.4 虚拟内存实现机制2进程用户空间管理2.1 进程用户空间布局2.2 进程用户空间的内核描述2.2.1 概述2.2.2 mm_struct 结构2.2.3 vm_area_struct 结构2.2.4 实例:内核态打印虚存..转载 2022-04-07 20:01:24 · 4976 阅读 · 0 评论