Чим відрізняється ядро ​​Linux від ядра Android?


18

Які модифікації, зроблені в ядрі Linux, щоб зробити його ядро ​​Android? Під цим питанням я маю на увазі, чим відрізняються ядро ​​Linux та ядро ​​Android?


Відповіді:


7

Відмінності змінюються від версії до версії (як для Linux, так і для Android), і точне ядро ​​відрізняється для кожного пристрою. Ядро для Android - це основне ядро ​​Linux з додатковими драйверами для конкретного пристрою та іншими додатковими функціональними можливостями, такими як покращене управління потужністю або швидша підтримка графіки.

Багато функцій в ядрі Android пізніше додаються до висхідного Linux після того, як спільнота з відкритим кодом прийняла (і, можливо, змінила) їх, але інші ніколи не поширюються, або тому, що вони не прийнятні для розробників ядра Linux, або тому, що вони ' стосується лише Android або певного обладнання.


3
Більшість драйверів для конкретного обладнання для Android було прийнято до основного ядра; але деякі функції, наприклад, блокування блокування, яке викликало величезну суперечку деякий час тому, залишається проблематичним, оскільки розробник магістральних ліній та андроїдних ядер не погоджується, чи це хороша ідея.
Лі Лі Райан

"Ядро для Android - це основне ядро ​​Linux з додатковими драйверами для конкретного пристрою та іншими додатковими функціональними можливостями, такими як покращене управління потужністю або швидша підтримка графіки", тож це, головним чином, драйвери? Не змінено вихідний код?
Герлендо OC

@GuerlandoOCs Я не впевнений, що ви вважаєте, що драйвери - це не зміна вихідного коду, але, незалежно, "інша додаткова функціональність", яку я згадав, досить велика в ці дні. Існує багато змін вихідного коду.
Дан Хулм

@DanHulme - це патчі змін джерела чи просто змінений код вручну? Як я бачу речі, які змінилися? Я читав, що ви можете виправити ядро ​​Linux, щоб воно було сумісним з Android, але де такі патчі, щоб я міг їх прочитати?
Герлендо OC

5

Окрім специфічних відмінностей пристрою та блокування блоків, про які згадують Дан Халм та Лі Райан, Android видалила IPC System V (черги повідомлень, сегменти спільної пам’яті, семафори), що може призвести до витоку ресурсів ( http://www.kandroid.org/ndk /docs/system/libc/SYSV-IPC.html ). Це, мабуть, лише питання налаштування збірки ядра. Також Android IPC вибору, який називається Binder, має певну підтримку в ядрі, яка, наскільки мені відомо, не входить до стандартних ядер Linux.


4

Я думаю, що це джерело Android - це чудова документація для його розуміння.

А ось список змін , зроблені з магістрального ядра для андроїда ядра 4,14.

Найбільші функції включають:

  • 19,8% планування енергозбереження (ядро / графік)
  • 13,8% Мережа (net / netfilter)
  • 13,5% Sdcardfs (fs / sdcardfs)
  • 9,4% USB (драйвери / usb)
  • 7,2% SoC (арка / arm64, арка / x86)
  • 6,2% f2fs (fs / f2fs - зворотні списки від висхідного потоку)
  • 6,1% введення (драйвери / введення / різне)
  • 5,4% FIQ Debugger (драйвери / інсценізація / android / fiq_debugger)
  • 3,6% Емулятор Золотих рибок (драйвери / платформа / золота рибка)
  • 3,4% достовірність (драйвери / мд)
  • 11,6% Інше

Відмінності від LTS

У порівнянні з LTS (4.14.0) загальне ядро ​​Android має 355 змін, 32266 вставок та 1546 видалень (станом на лютий 2018 року).

введіть тут опис зображення


Я не розумію, чому люди зволікають ??? Я написав відповідь, протягом 5 секунд я отримав знижку !! Ніцца
Chankruze

+1 для вашої відповіді. Привідний привідний смокче.
iBug

+1. Ваш найкращий серед інших.
Ірфан Латиф
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.