Android学习之ION memory manager

本文介绍了Android的ION内存管理系统,它管理多个内存池,用于硬件如GPU和显示控制器。ION通过heap进行内存分配和共享,包括ION_HEAP_TYPE_SYSTEM、ION_HEAP_TYPE_SYSTEM_CONTIG和ION_HEAP_TYPE_CARVEOUT。用户空间通过/dev/ion设备与ION交互,使用ioctl进行内存操作,如分配、共享和映射。ION与DMABUF相比,提供了更方便的用户接口,但DMABUF的适用范围更广。
摘要由CSDN通过智能技术生成

Updated: 2013/03/18, 刚有时间浏览了最新的Android builder submit 2013的相关slides,其中有关于最新的android 对kernel的upstream的状态的总结,大家可以看看
http://events.linuxfoundation.org/images/stories/slides/abs2013_stultz.pdf


ION, 正在开发并准备进入staging


最近关注了一下android上kernel的一些变化,发现了一个很有意思的东西,ION.


  1. 先看一下什么是ION
    ION与PMEM类似,管理一或多个内存池,其中有一些会在boot time的时候预先分配,以备给特殊的硬件使用(GPU,显示控制器等)。它通过ION heaps来管理这些pool。
    它可以被userspace的process之间或者内核中的模块之间进行内存共享

  2. 关键数据结构
    kernel side
    用来管理内存池的相关操作的数据结构,它被ion core所使用,并没有暴露给userspace或者driver
    struct ion_heap_ops {
    	int (*allocate) (struct ion_heap *heap,
    			 struct ion_buffer *buffer, unsigned long len,
    			 unsigned long align, unsigned long flags);
    	void 
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值