ION內存管理簡介
https://www.jianshu.com/p/4f681f6ddc3b
http://kernel.meizu.com/memory%20management%20-%20ion.html
ION,最顯著的特點是它可以被用戶空間的進程之間或者內核空間的模塊之間進行內存共享,而且這種共享可以是零拷貝的。在實際使用中,ION 和 VIDEOBUF2、DMA-BUF、V4L2 等結合的很緊密。本文主要介紹 ION,其它子系統感興趣的話后續會陸續進行介紹。
ION 是在各種 heaps 上分配內存,通過 ion_buffer 來描述所分配的內存。
下圖展示了 ION 的基本框架。圖中 PID1、PID2、PID3 表示用戶空間進程。ION core 表示 ION 核心層,它提供設備創建、注冊等服務,同時提供統一的接口給用戶使用。ION Driver 利用 ION core 對相應功能進行實現,可以說它是具體平台相關的,例如 SAMSUNG 平台、QUALCOMM 平台和 MTK 平台都會依據自己的特性開發相應的 ION Driver。
kmalloc()與vmalloc()的區別