¿Cuál es la importancia de la memoria iónica en Android?

Estoy escribiendo esta respuesta en colaboración con Sumit Semwal : The Co-Creator of DMA Buffer, que comparte muchas características similares a ION.

Importancia técnica:

Anteriormente, Malloc era una forma ineficiente de asignar memoria en Kernel Space y User Space desarrollado en C ++. Si un programa requería 10 asignaciones de memoria, malloc solía proporcionarlo 16 debido a sus fragmentos como 4, 8, 16, 32. Por lo tanto, los fabricantes de chips desarrollaron sus propios controladores como PMEM, Tegra, CMEM, pero a menudo debido a una infraestructura y desarrollo de mal crecimiento. causó que las aplicaciones se volvieran demasiado lentas o se congelaran.

Lo que hace ION es: administra la memoria de manera más eficiente al crear y administrar un grupo de Memoria y asignarla a través de Asignaciones de Memoria Dinámica, muy similar al Marco de intercambio de búfer DMA creado por Sumit.

Importancia de fabricación:

Como dije antes, generalmente los fabricantes de chips como Qualcomm, Nvdia, Texas Instrument, etc., lanzan sus propios controladores para los fabricantes de teléfonos. Ahora suponga que si Qualcomm decide vender el mismo chip a Google Glass que solían vender a Samsung, tendrían que lanzar un controlador PMEM separado para Google-Glass y un controlador PMEM completamente separado para Samsung.

Para solucionar este problema, Google desarrolló ION Memory (sándwich Post Ice Cream). ION Memory no permite que el espacio del usuario interfiera con las asignaciones de memoria del espacio del kernel. De este modo, el fabricante de chips puede lanzar controladores unificados únicos para sus chips. Debido a esto, Samsung y Sony pueden usar el mismo chip sin permitir que sus ingenieros trabajen con los ingenieros de Qualcomm para desarrollar un controlador de dispositivo separado.

Importancia comercial:

Una función importante que desempeña ION en los negocios es que ha hecho que la industria de semiconductores sea más competitiva. Anteriormente, un fabricante de teléfonos de pequeñas empresas como Micromax o Lava solía preocuparse por cancelar contratos con fabricantes de chips como Qualcomm / Nvdia / TI y cambiar a un fabricante de chips diferente. Fue porque cada vez que tenían que cambiar el chip, también tendrían que obtener nuevos controladores (como “el controlador CMEM de Texas Instrument usado en Google Glass” a “Qualcomm PMEM Driver usado en Samsung”). Además, un fabricante de teléfonos de pequeñas empresas no puede permitirse gastar dinero en software colaborativo, desarrollar controladores y, por no mencionar, errores. Por lo tanto, ION Memory permite que un fabricante de teléfonos cambie el SoC sin preocuparse por un controlador separado, lo que resulta en un menor costo de mantenimiento y una mayor competencia.

PD: Gracias por A2A , aunque expiró, pero trabajé en Linux Kernel mucho antes de que se lanzara ION; Así que tuve que investigar sobre este tema y obtener respuestas verificadas de personas reales. (Respuesta retrasada).