Чим відрізняється ядро ​​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.