Какие модификации сделаны в ядре Linux, чтобы сделать его ядром Android? Под этим вопросом я подразумеваю, в чем разница между ядром Linux и ядром Android?
Я думаю, что этот Android Source — отличная документация для понимания этого.
А вот список изменений, сделанных из основного ядра для ядра Android 4.14.
Самые большие функции включают в себя:
Отличия от ЛТС
По сравнению с LTS (4.14.0), общее ядро Android имеет 355 изменений, 32266 вставок и 1546 удалений (по состоянию на февраль 2018 г.).
Различия меняются от версии к версии (как для Linux, так и для Android), и точное ядро различно для каждого устройства. Ядро для Android — это основное ядро Linux с дополнительными драйверами для конкретного устройства и другими дополнительными функциями, такими как улучшенное управление питанием или поддержка более быстрой графики.
Многие функции ядра Android позже добавляются в исходную версию Linux после того, как сообщество открытого исходного кода приняло (и, возможно, изменило) их, но другие никогда не добавляются в основную ветку разработки либо потому, что они неприемлемы для разработчиков ядра Linux, либо потому, что они re применимо только к Android или к определенному оборудованию.
Помимо специфических различий устройств и блокировки пробуждения, о которых упоминают Дэн Халм и Ли Райан, Android удалил функции System V IPC (очереди сообщений, сегменты общей памяти, семафоры), которые могли привести к утечке ресурсов ( http://www.kandroid.org/ndk ). /docs/system/libc/SYSV-IPC.html ). Вероятно, это просто вопрос настройки сборки ядра. Кроме того, выбранный Android IPC, называемый Binder, имеет некоторую поддержку в ядре, которая, насколько мне известно, не включена в стандартные ядра Linux.
GATrawn