Cours sur le système d’exploitation Android, tutoriel Android pour débutant en pdf.
Android ne supporte pas la glibc, pour cela on a développé une librairie C (libc) nommé Bionic libc. Elle est optimisée pour les appareils mobiles et a été développé spécialement pour Android.
La plateforme Android à besoin de sa propre libc car il avait besoin d’une libc légère (la libc sera chargé dans chaque processus) et rapide (les appareils mobiles ne disposent de CPU puissant).
La Bionic libc a été écrit pour supporter les CPU ARM, bien que le support x86 est présent. Il n’y pas de support pour les autres architecture CPU tel que PowerPC ou MIPS. Néanmoins, pour le marché des appareils mobiles, seulement l’architecture ARM est importante.
Les architectures ARM, développées par ARM Ltd, sont des architectures RISC 32 bits.
Dotés d’une architecture relativement plus simple que d’autres familles de processeurs, et bénéficiant d’une faible consommation, les processeurs ARM sont devenus dominants dans le domaine de l’informatique embarquée, en particuliers la téléphonie mobile et les tablettes.
Ces processeurs sont fabriqués sous licence par un grand nombre de constructeurs.
Cette libc est sous licence BSD, elle reprend une grande partie du code des glibc issue d’OpenBSD, FreeBSD et NetBSD.
Caractéristiques :
-Elle à environ une taille de 200Ko soit la moitié de la glibc
-L’implémentation des pthreads (POSIX thread) a été complètement réécrite pour supporter les threads de la machine virtuelle Dalvik. De ce fait la Bionic libc ne supporte les threads POSIX
-Les exceptions C++ et les « wide char » ne sont pas supportés
-Il n’y a pas de « Standard Template Library » (STI)
La Standard Template Library (STL) est une bibliothèque C++, normalisée par l’ISO (document ISO/CEI 14882) et mise en oeuvre à l’aide des templates.
Cette bibliothèque fournit :
– un ensemble de classes conteneurs, telles que les vecteurs (vector), les tableaux associatifs (map), les listes chaînées (list), qui peuvent être utilisées pour contenir n’importe quel type de données à condition qu’il supporte certaines opérations comme la copie et l’assignation.
– une abstraction des pointeurs : les itérateurs. Ceux-ci fournissent un moyen simple et élégant de parcourir des séquences d’objets et permettent la description d’algorithmes indépendamment de toute structure de données.
– des algorithmes génériques tels que des algorithmes d’insertion/suppression, recherche et tri.
– une classe string permettant de gérer efficacement et de manière sûre les chaînes de caractères.
WebKit :
WebKit est une bibliothèque logicielle permettant aux développeurs d’intégrer facilement un moteur de rendu de pages Web dans leurs logiciels. Elle est disponible sous licence BSD et GNU LGPL. Originellement réservée au système d’exploitation Mac OS X (à partir de la version 10.3 Panther), elle a été portée vers Linux et Windows. Ainsi le portage de WebKit pour les environnements GTK+ et Qt se nomment respectivement WebKitGTK+ et QtWebKit.
WebKit est un fork du moteur de rendu KHTML du projet KDE utilisé notamment dans le navigateur Konqueror. Elle intègre deux sous-bibliothèques : WebCoreet JavaScriptCore correspondant respectivement à KHTML et KJS.
WebKit est moteur de rendu, qui fournit une bibliotheque sur lequel on peut développer un navigateur web. Il a été dérivé à l’origine par Apple du moteur de rendu KHTML pour être utilisé par le navigateur web Safari et maintenant il est développé par KDE project, Apple, Nokia, Google et d’autres. WebKit est composé de deux librairies : WebCore et JavascriptCore qui sont disponible sous licence GPL.
WebKit supporte le CSS, Javascript, AJAX. La version de WebKit présent dans Android à été légèrement modifiée pour s’adapter aux appareils mobiles.
……..
Système d’exploitation Android (1,58 MO) (Cours PDF)
Merci je viens de télécharger le cours.