Quelle est la différence entre le noyau Linux et le noyau Android?

Réponses:

7

Les différences varient d'une version à l'autre (à la fois de Linux et d'Android), et le noyau exact est différent pour chaque périphérique. Un noyau pour Android est un noyau Linux traditionnel, avec des pilotes supplémentaires pour le périphérique spécifique et d'autres fonctionnalités supplémentaires, telles qu'une gestion améliorée de l'alimentation ou une prise en charge graphique plus rapide.

De nombreuses fonctionnalités du noyau Android sont ensuite ajoutées à Linux en amont après que la communauté open source les a acceptées (et peut-être modifiées), mais d'autres ne sont jamais en amont, soit parce qu'elles ne sont pas acceptées par les développeurs du noyau Linux, soit parce qu'elles '' ne s'applique qu'à Android ou à du matériel spécifique.

Dan Hulme
la source
3
La plupart des pilotes pour le matériel spécifique à Android ont été acceptés dans le noyau principal; mais certaines fonctionnalités, telles que le verrouillage de sillage qui a provoqué une énorme controverse il y a quelque temps, restent problématiques car les développeurs de la ligne principale et du noyau Android ne s'entendent pas sur la bonne idée.
Lie Ryan
"Un noyau pour Android est un noyau Linux traditionnel, avec des pilotes supplémentaires pour le périphérique spécifique et d'autres fonctionnalités supplémentaires, telles qu'une gestion améliorée de l'alimentation ou une prise en charge graphique plus rapide", c'est donc principalement des pilotes? Aucun code source modifié?
OC Guerlando
@GuerlandoOCs Je ne suis pas sûr de ce que vous pensez des pilotes si ce n'est un changement de code source, mais malgré tout, les "autres fonctionnalités supplémentaires" que j'ai mentionnées sont assez importantes ces jours-ci. Il existe de nombreuses modifications du code source.
Dan Hulme
@DanHulme sont les correctifs de changements de source ou simplement le code modifié à la main? Comment puis-je voir des choses qui ont changé? J'ai lu que vous pouvez patcher votre noyau linux pour qu'il soit compatible avec android, mais où sont ces patches pour que je puisse les lire?
Guerlando OCs
5

Outre les différences spécifiques à l'appareil et le verrouillage de sillage mentionnés par Dan Hulme et Lie Ryan, Android a supprimé les fonctionnalités IPC de System V (files d'attente de messages, segments de mémoire partagée, sémaphores) qui pourraient entraîner des fuites de ressources ( http://www.kandroid.org/ndk /docs/system/libc/SYSV-IPC.html ). C'est probablement juste une question de configuration de la construction du noyau. De plus, l'IPC Android de choix, appelé Binder, a un certain support dans le noyau qui, à ma connaissance, n'est pas inclus dans les noyaux Linux standard.

FooF
la source
4

Je pense que cette source Android est une excellente documentation pour la comprendre.

Et voici une liste des changements effectués depuis le noyau principal pour le noyau Android 4.14.

Les plus grandes fonctionnalités comprennent:

  • 19,8% de planification énergétique (noyau / ordonnancement)
  • 13,8% de réseautage (net / netfilter)
  • 13,5% Sdcardfs (fs / sdcardfs)
  • 9,4% USB (pilotes / usb)
  • 7,2% SoC (arch / arm64, arch / x86)
  • 6,2% f2fs (fs / f2fs - rétroportages en amont)
  • 6,1% d'entrée (pilotes / entrée / divers)
  • 5,4% FIQ Debugger (drivers / staging / android / fiq_debugger)
  • 3,6% émulateur Goldfish (pilotes / plate-forme / poisson rouge)
  • 3,4% Verity (pilotes / md)
  • 11,6% autres

Différences avec LTS

Par rapport à LTS (4.14.0), le noyau commun Android a 355 changements, 32266 insertions et 1546 suppressions (en février 2018).

entrez la description de l'image ici

chankruze
la source
Je ne comprends pas pourquoi les gens votent contre ??? J'ai écrit la réponse, dans les 5 secondes, j'ai eu un downvote !! Nice
chankruze
+1 pour votre réponse. Les downvoters en voiture sont nuls.
iBug
+1. Le vôtre est le meilleur parmi d'autres.
Irfan Latif