Linux内存从0到1学习笔记(8.19 ION 简介(一))

一,ION简介

ION(Interprocess Communication Over Non-Contiguous Memory)即“跨进程非连续内存通信”。是Android系统中负责内存管理的关键子系统,由 Google 在 Android 4.0 ICS 中引入,旨在解决当时 Android 设备中存在的多样化内存管理机制所带来的问题,也就是用归一化的思想来解决不同 Android 设备上内存管理接口分散的问题。

在系统级芯片 (SoC) 硬件上,通常有许多不同的设备具有直接内存访问 (DMA) 功能。然而,这些设备可能具有不同的能力,并且可以在不同的约束下查看和访问内存。例如,一些设备可能处理散列-聚集列表,而其他设备可能只能访问内存中物理上连续的页面。一些设备可能可以访问所有内存,而其他设备可能只能访问较小部分的内存。最后,一些设备可能位于I/O内存管理单元 (IOMMU) 后面,这可能需要配置以使设备访问内存中的特定页面。

如果你有一个缓冲区想要与设备共享,但缓冲区没有分配在设备可以访问的内存中,就必须使用中转缓冲区将该内存的内容复制到其他设备可以访问的位置。这可能非常昂贵并且严重影响性能。因此,能够在所有使用缓冲区的设备可访问的位置分配缓冲区非常重要。

目前在使用 NVIDIA Tegra 的 Android 设备上,有 "NVMAP";在使用 TI OMAP 的 Android 设备上,有 &#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

高桐@BILL

分享快乐,快乐分享...

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值