Maison  >  Article  >  Tutoriel système  >  Analyser les mises à jour des fonctionnalités du noyau Android et du noyau Linux standard

Analyser les mises à jour des fonctionnalités du noyau Android et du noyau Linux standard

WBOY
WBOYoriginal
2024-06-03 11:53:511110parcourir

Android系统内核剖析

[Résumé] Analysez l'architecture système de la plate-forme Android Linux. Supprimez le dossier, analysez le dernier code source Android, comparez-le avec le code source standard du noyau Linux, analysez en détail les mises à jour des fonctions du noyau Android et discutez des différences entre les Noyau Android et noyau Linux standard. Les différences et les avantages d'Android sur la plate-forme China Unicom ont été analysés, et Android a été positionné parmi les différents noyaux. Il a également introduit l'acquisition et la compilation du noyau Android dans l'environnement Ubuntu.

[Mots clés]Android ; noyau Linux ;

Numéro de classification de la bibliothèque chinoise : G354.3 Code du document : A Numéro d'article : 1009-914X (2013) 33-0119-01

1. Aperçu

Avec le développement rapide de la technologie embarquée, la vitesse de fonctionnement et les fonctions intégrées de la plateforme intelligente de China Unicom ont été considérablement améliorées. Par ailleurs, l’Open Handset Alliance OHA, dirigée par Google, a profité de la situation et a lancé la plateforme de terminaux Android China Unicom en 2008. Android est une plate-forme de terminal China Unicom ouverte et gratuite [1]. Elle a brisé le monopole du système d'exploitation Symbian de Motorola sur les plates-formes de smartphones traditionnelles. Dans le même temps, les avantages de sa plate-forme ont également considérablement enrichi les fonctionnalités logicielles de divers appareils portables.

2. Architecture du système Android

Android est un système d'exploitation de téléphone mobile open source basé sur la plate-forme Linux développée par Google. Il s'agit d'une plate-forme de terminal China Unicom qui comprend tous les logiciels nécessaires au fonctionnement des téléphones China Unicom. Elle est composée d'un système d'exploitation, d'un middleware, d'une interface utilisateur et d'un système d'exploitation. applications.

linux内核android_内核管理器_内核稳定

L'architecture du système Android se compose des quatre niveaux suivants de bas en bas [2] : module de noyau basé sur Linux, bibliothèque d'exécution et autres bibliothèques, cadre d'application et application.

La première couche : système d'exploitation Linux et extension du système Android, implémentées par le langage C.

La deuxième couche : couche de bibliothèque système et logiciel Linux de l'environnement d'exécution Android, implémenté en C/C++.

La troisième couche : le cadre d'application Android. Cachée devant chaque application se trouve une série de services et de systèmes.

Niveau 4 : Applications Android

La couche d'application Android est composée de toutes les applications exécutées sur les appareils Android. En plus des applications système telles que les appels, les messages texte et les contacts, elle comprend également d'autres applications tierces qui sont ensuite installées sur l'appareil. 3. Analyse du noyau Android

内核管理器_linux内核android_内核稳定

Le rôle du noyau 2.1 dans le système d'exploitation

Android est basé sur le système d'exploitation Linux et se compose de quatre parties principales : le matériel, le noyau système, les services système et les applications. Parmi eux, le noyau est la partie essentielle. Sa fonction principale est d'interagir avec le matériel informatique, de réaliser des opérations de contrôle de programmation et de socket du matériel, de planifier l'accès aux ressources matérielles et en même temps de fournir un environnement d'exécution intermédiaire et une virtualisation du matériel. matériel vers les applications. Les principales fonctions comprennent : la routine de service d'interruption, le planificateur de processus, la gestion de la mémoire vidéo de l'espace d'adressage du processus et la communication inter-processus.

2.2Noyau Android

Afin de comparer et d'analyser le noyau Android, nous avons construit une plate-forme de compilation et de développement du noyau Android sur le système d'exploitation Ubuntu et téléchargé la dernière version du code du noyau Android JellyBean via le dépôt.

Après une comparaison détaillée avec le code source du noyau Linux standard, on peut constater qu'il existe des différences entre le noyau Android et le noyau Linux standard en termes de système de fichiers, de mécanisme de communication inter-processus, de gestion de la mémoire, etc.

(1) Système de fichiers

内核稳定_linux内核android_内核管理器

Le noyau Android a réduit le système de fichiers YAFFS2 qui n'est pas adopté dans le noyau Linux standard.

(2) Mécanisme de communication inter-processus

Binder est un mécanisme de communication inter-processus noyau Linux Android, bien qu'il fournisse une fonction d'appel de procédure à distance (RPC). dans

Le mécanisme Binder du système Android se compose d'un composant système, à savoir le client, le serveur, le ServiceManager et le pilote Binder qui s'exécutent dans l'espace utilisateur, et le pilote Binder s'exécute dans l'espace du noyau.

(3) Gestion de la mémoire vidéo

Dans le module de gestion de la mémoire vidéo, le noyau Android utilise un noyau de bas niveau qui n'est pas utilisé dans le noyau Linux standard

Stratégie de gestion des dépôts. Le système Android utilise un mécanisme appelé LMK (LowMemoryKiller), qui classe et regroupe les processus selon leur importance. Lorsque la mémoire vidéo est insuffisante, le processus du groupe de niveau le plus bas sera arrêté.

4. Acquisition et compilation du noyau Android

Ce qui suit prend le système d'exploitation Ubuntu13.04 comme exemple pour expliquer comment configurer sous le système Ubuntu13.04

Plateforme de compilation et de développement du noyau Android. Pour créer un environnement de compilation du noyau Android sur Ubuntu, les étapes spécifiques sont les suivantes :

(1) Concevoir l'environnement système, liste des packages logiciels requis flex, bison, gperf, libsdl-dev, libesd0-

dev, libwxgtk2.6-dev (facultatif), build-essential, zip, curl ; (2) Installer la version 1.7 du JDK ; (3) Installer le dépôt (4) Créer un dossier bin dans le répertoire de fichiers principal et l'ajouter. à Parmi les variables d'environnement ; (5) Téléchargez le script repo et modifiez ses attributs en exécutable curlhttp:///repo>~/bin/repochmoda+x~/bin/repo (6) Créez un répertoire pour enregistrer le code source ; mkdircoredroidcdcoredroid ( 7) Récupérez le code du noyau Android : gitclonegit:///kernel/common.git

linux内核android_内核管理器_内核稳定

Après les étapes ci-dessus, la dernière version du noyau Android sera téléchargée dans le dossier coredroid. Une fois la compilation make terminée, le fichier zImage est généré. Vous pouvez utiliser le simulateur pour tester et exécuter cdmydroid/out/cupcake/out/target/product/genericemulator-imagesystem.img-datauserdata.img-ramdiskramdisk.img-kernel~. /coredroid/common/arch/arm/ boot/zImage

5.Conclusion

Le noyau Android est optimisé à partir du noyau Linux standard. Il hérite de divers avantages du noyau Linux et conserve la structure principale du noyau Linux standard. Dans le même temps, Android a apporté des modifications au système de fichiers, à la gestion de la mémoire, au mécanisme de communication inter-processus, à la gestion de l'énergie et à d'autres aspects en fonction des besoins de la plate-forme China Unicom, a ajouté des pilotes pertinents et de nouvelles fonctions nécessaires, et est compatible avec la plupart des opérations Linux embarquées rationalisées. Par rapport à d'autres systèmes, Android conserve dans une large mesure l'architecture de base de Linux standard. Pour cette raison, le système Android dispose d'une gamme d'applications plus large et est plus évolutif.

Références

[1]CodeHome.Android-AnOpenHandsetAllianceProject.[EB/OL]http:///android/what-is-android.

[2] Gong Lei, Zhou Cong. Développement et recherche d'une application de terminal China Unicom basée sur Android [M] People's Posts and Telecommunications Press linux kernel android, 2007

.

[3]Zhao Jiong. Annotation complète du noyau Linux[M].

[4] Chen Lijun. Analyse et application du noyau Linux[J].

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn