Які модифікації, зроблені в ядрі Linux, щоб зробити його ядро Android? Під цим питанням я маю на увазі, чим відрізняються ядро Linux та ядро Android?
Які модифікації, зроблені в ядрі Linux, щоб зробити його ядро Android? Під цим питанням я маю на увазі, чим відрізняються ядро Linux та ядро Android?
Відповіді:
Відмінності змінюються від версії до версії (як для Linux, так і для Android), і точне ядро відрізняється для кожного пристрою. Ядро для Android - це основне ядро Linux з додатковими драйверами для конкретного пристрою та іншими додатковими функціональними можливостями, такими як покращене управління потужністю або швидша підтримка графіки.
Багато функцій в ядрі Android пізніше додаються до висхідного Linux після того, як спільнота з відкритим кодом прийняла (і, можливо, змінила) їх, але інші ніколи не поширюються, або тому, що вони не прийнятні для розробників ядра Linux, або тому, що вони ' стосується лише Android або певного обладнання.
Окрім специфічних відмінностей пристрою та блокування блоків, про які згадують Дан Халм та Лі Райан, Android видалила IPC System V (черги повідомлень, сегменти спільної пам’яті, семафори), що може призвести до витоку ресурсів ( http://www.kandroid.org/ndk /docs/system/libc/SYSV-IPC.html ). Це, мабуть, лише питання налаштування збірки ядра. Також Android IPC вибору, який називається Binder, має певну підтримку в ядрі, яка, наскільки мені відомо, не входить до стандартних ядер Linux.
Я думаю, що це джерело Android - це чудова документація для його розуміння.
А ось список змін , зроблені з магістрального ядра для андроїда ядра 4,14.
Найбільші функції включають:
Відмінності від LTS
У порівнянні з LTS (4.14.0) загальне ядро Android має 355 змін, 32266 вставок та 1546 видалень (станом на лютий 2018 року).