¿Cuáles son las modificaciones realizadas en el kernel de Linux para convertirlo en un kernel de Android? Con esta pregunta quiero decir, ¿cuáles son las diferencias entre el kernel de Linux y el kernel de Android?
¿Cuáles son las modificaciones realizadas en el kernel de Linux para convertirlo en un kernel de Android? Con esta pregunta quiero decir, ¿cuáles son las diferencias entre el kernel de Linux y el kernel de Android?
Respuestas:
Las diferencias cambian de una versión a otra (tanto de Linux como de Android), y el núcleo exacto es diferente para cada dispositivo. Un kernel para Android es un kernel de Linux convencional, con controladores adicionales para el dispositivo específico y otras funcionalidades adicionales, como administración de energía mejorada o soporte gráfico más rápido.
Muchas características en el kernel de Android se agregan más tarde a Linux ascendente después de que la comunidad de código abierto las haya aceptado (y tal vez modificado), pero otras nunca se han actualizado, ya sea porque no son aceptables para los desarrolladores del kernel de Linux o porque ' solo se aplica a Android o hardware específico.
Además de las diferencias específicas del dispositivo y el bloqueo de activación que Dan Hulme y Lie Ryan mencionan, Android eliminó las características de System V IPC (colas de mensajes, segmentos de memoria compartida, semáforos) que podrían provocar pérdidas de recursos ( http://www.kandroid.org/ndk /docs/system/libc/SYSV-IPC.html ). Esto probablemente es solo una cuestión de configurar la construcción del núcleo. Además, el IPC de Android elegido, llamado Binder, tiene cierto soporte en el núcleo que, que yo sepa, no está incluido en los núcleos estándar de Linux.
Creo que esta fuente de Android es una excelente documentación para entenderlo.
Y aquí hay una lista de cambios realizados desde el núcleo de la línea principal para el núcleo de Android 4.14.
Las características más importantes incluyen:
Diferencias de LTS
En comparación con LTS (4.14.0), el núcleo común de Android tiene 355 cambios, 32266 inserciones y 1546 eliminaciones (a partir de febrero de 2018).