Le système d’exploitation Android est une pile de composants logiciels qui est grossièrement divisée en cinq sections et quatre couches principales.
Noyau Linux
La couche inférieure du système d’exploitation Android est le noyau Linux. Android est construit au-dessus du noyau Linux 2.6 et de quelques modifications architecturales apportées par Google. Le noyau Linux fournit les fonctionnalités de base du système telles que :
- la gestion des processus ;
- la gestion de la mémoire ;
- et la gestion des périphériques comme l’appareil photo, le clavier, l’écran, etc.
Il fournit également un tableau de pilotes de périphériques qui facilite l’interfaçage de l’Android avec le matériel périphérique.
Librairies
Au sommet du noyau Linux, une autre couche appelée bibliothèques est présente. Elle fournit les différentes bibliothèques utiles au bon fonctionnement du système d’exploitation. Ce sont des bibliothèques java construites spécifiquement pour le système d’exploitation. Certaines des bibliothèques importantes sont :
- bibliothèque Explication SQLite ;
- SSL ;
- cadre multimédia ;
- WebKit.
Android Runtime
C’est le troisième composant de l’architecture Android et placé en deuxième couche à partir du bas. Il fournit la partie la plus importante d’Android appelée Dalvik Virtual Machine. La machine virtuelle Dalvik est similaire à la machine virtuelle Java (JVM), mais la seule différence est qu’elle est conçue et optimisée pour Android. Dalvik Virtual machine utilise les fonctions de base de Linux telles que la gestion de la mémoire et le multi threading et permet à chaque application android d’exécuter son propre processus.
Le runtime Android fournit également un ensemble de bibliothèques de base qui permettent aux développeurs d’applications Android d’écrire des applications en utilisant le langage de programmation Java standard.
Cadre d’application
Il s’agit du quatrième composant de la pile du système d’exploitation Android. Les applications Android interagissent directement avec le cadre d’application, qui gère les fonctions de base du dispositif telles que la gestion des ressources, la gestion des appels vocaux, etc. La couche du cadre d’application fournit de nombreux services de niveau supérieur aux applications sous la forme de classes Java. Les développeurs d’applications sont autorisés à faire usage de ces services dans leurs applications. Les blocs importants du cadre d’application sont les suivants :
- Gestionnaire d’activité : utilisé pour gérer le cycle de vie complet des activités des applications ;
- fournisseurs de contenu : utilisé pour gérer le partage de données entre deux applications ;
- gestionnaire de téléphonie : utilisé pour gérer tous les appels vocaux ;
- gestionnaire de localisation : permet de gérer les emplacements obtenus à l’aide d’un GPS ou d’une tour cellulaire ;
- gestionnaire de ressources : utilisé pour gérer les différents types de ressources utilisées dans l’application Android.