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