techboys.de • smarte News, auf den Punkt!techboys.de • smarte News, auf den Punkt!
  • Apple
  • Games
  • Reviews
  • Tech
  • Smart Home
  • VPN
Du liest Wie funktioniert eigentlich Android?
Teilen
Aa
techboys.de • smarte News, auf den Punkt!techboys.de • smarte News, auf den Punkt!
Aa
Suche
  • Kontakt
  • Apple
  • Games
  • Reviews
  • Smart Home
  • Tech
  • VPN
Du hast bereits ein Konto Anmelden
Folge Uns
  • Kontakt
  • Datenschutz
  • Cookies
  • AGB
  • Impressum
  • Haftungsausschluss
© 2022 techboys.de. Erstellt mit Liebe & Vielzuviel Espresso.

Du bist hier: Startseite » Android Updates & Tipps

Android Updates & Tipps

Wie funktioniert eigentlich Android?

Gary Madeo
Autor: Gary Madeo  - Gründer und Autor 20. November 2013 524 Mal gelesen
Aktualisiert am Samstag, 31. August 2019 um 6:13 Uhr
Teilen
7 Min Lesedauer
Teilen

Obwohl es schon unzählige Blogeinträge und Webseiten gibt, die das Android-Betriebssystem (Android Operating System oder kurz AOS) erklären, möchten wir unseren Lesern eine kleine Einführung ins AOS geben. Noch immer gewinnt Android an Popularität und bringt damit auch Neulinge in dieses Gebiet, die vielleicht gerne etwas genauer wissen möchten, wie das AOS aufgebaut ist und wie die einzelnen Komponenten interagieren.

Das Android OS – Ein Schichtkuchen

Grob gesagt kann man sich das AOS als eine Art Schichtkuchen vorstellen. Jede Schicht hat ihre eigenen Charakteristika und dient speziellen Zwecken. Diese Schichten sind jedoch nicht komplett voneinander getrennt, sondern fliessen oft in einander über und interagieren. Die unterste Schicht bildet der Linux-Kernel, der zwischen Hard- und Software vermittelt. Die zweite Schicht beinhaltet die Native Libraries (Bibliotheken) sowie die Android Runtime Umgebung, die im Wesentlichen aus den Kern-Libraries und der DalvikVM (Virtual Machine) besteht. In der dritten Schicht befindet sich die Application Framework, ein Programmiergerüst für eine bestimmte Klasse von Anwendungen, die Funktionen und Programmstrukturen zur Verfügung stellt, die wiederum für alle Anwendungen dieser Klasse von Bedeutung sind. Die vierte und letzte Schicht bilden schliesslich die Applikationen (Apps) selbst.

In den folgenden Abschnitten werden die einzelnen Elemente etwas genauer erklärt. Wir verzichten auf zu viel Information, denn es wird sehr schnell sehr komplex. Wir starten mit dem Linux-Kernel.

Basis-Schicht – Der Linux-Kernel

Android basiert auf Linux und dafür gibt es einige gute Gründe. Zunächst sei hier die Portabilität erwähnt, welche es ermöglicht, die Plattform relativ einfach auf verschiedenen Hardware-Umgebungen zu kompilieren. Das hat den Vorteil, dass man sich also nicht grossartig um die zugrunde liegende Hardware zu kümmern braucht.

Ein weiterer Vorteil bildet die Sicherheit. Linux wurde über Jahrzehnte in verschiedenen Umgebungen ausprobiert und getestet. Ein Sicherheitsaspekt ist beispielsweise, dass alle Android Apps als separate Linux-Prozesse laufen, die durch das Linux-System selbst ihre Berechtigungen erhalten. Zudem nutzt Android dabei einige Features des Linux-Systems wie das Speicher-Management, das Energiemanagement und das Netzwerk.

Der Linux-Kernel ist für die Speicher- und Prozessverwaltung zuständig und enthält auch die verschiedenen Hardware-Treiber für die Kamera, das Dispay, Wifi und andere. Der Kernel ist also Vermittler zwischen Hard- und Software.

Die 2. Schicht – Native Libraries und die DalvikVM

Die zweite Schicht bilden die Nativen, also die plattformspezifischen Libraries zusammen mit der Runtime Umgebung, welche die DalvikVM enthält und spezielle Kern-Libraries.

Native Libraries (plattformspezifische Libraries)

Native Libraries sind in C/C++ geschriebene Libraries, die oft von der Open Source-Community übernommen werden, um der App-Schicht die notwendigen Dienste (Services) zur Verfügung zu stellen, so z.B. Webkit, SQLite, OpenGL (eine 3D Grafik-Library) oder OpenSSL (Secure Socket Layer ).

DalvikVM

Die DalvikVM ist eine speziell für Android massgeschneiderte VM, welche speziell die beschränkte Akku- und Rechenleistung von mobilen Geräten berücksichtigt. VM werden dazu verwendet, Programme in einem architekturneutralen Format zugänglich zu machen, wo sie einfach übersetzt und kompiliert werden können. Allgemein gesprochen übersetzen VMs ein Set von Instruktionen, die beschreiben, wie eine Rechenoperation ausgeführt werden soll.

Die Grundkomponenten der DalvikVM sind ein Registerset, das über eine Anordnung ganzer Zahlen simuliert wird; ein Instruktionsset, das beschreibt, welche Operationen und welche Operanden unterstützt werden; als letzte Komponente eine Ausführeinheit, welche die Instruktionen vom Programm holt, diese dekodiert und dann ausführt.

Bei der DalvikVM wird der Java Code zwei Mal kompiliert, was zwar umständlich erscheint, den Code aber im Endeffekt effizienter macht. Die Quelldatei wird auch in Java geschrieben und mittels Java Kompilierer in Java Bytecode kompiliert. Dieser Java Bytecode wird dann ein zweites Mal kompiliert, diesmal mit dem Dalvik Kompilierer in Dalvik Bytecode. Erst dieser wird als .dex Datei (Dalvik executable) auf der DalvikVM ausgeführt. Obwohl die Android-Libraries den Standard-Libraries von Java sehr nahe kommen, wurden speziell die Java User Interface Libraries durch Android-spezifische Libraries ersetzt und durch weitere Features ergänzt. Kommen wir nun zur dritten Schicht unseres Kuchens, dem Application Framework.

Die dritte Schicht – Application Framework

Wie eingangs schon erwähnt, ist das Application Framework ein Programmiergerüst für eine bestimmte Klasse von Anwendungen, die Funktionen und Programmstrukturen zur Verfügung stellt, die wiederum für alle Anwendungen dieser Klasse von Bedeutung sind. Im Application Framework finden sich zahlreiche Java Libraries, die speziell für Android gebaut wurden. Ebenfalls hier befinden sich viele Services oder Managers (also Dienste), welche ein ganzes Ökosystem an Fähigkeiten für Apps verfügbar machen wie zum Beispiel den Standort, Sensoren, Wifi, Telefonie usw. Jetzt, da wir den Unterbau kennen, kommt endlich die letzte Schicht, die Schicht der eigentlichen Apps.

Die letzte Schicht – Die eigentlichen Apps

Eine App ist eigentlich eine Application Package (APK) Datei, die grob gesprochen drei Komponenten enthält: die Dalvik executable Datei (.dex; siehe weiter oben), welche den Code der App ausführt; die Ressourcen (alles, was nicht Code ist, also beispielsweise Bilder oder Video- und Audioclips) und die Native Libraries (siehe weiter oben).

Jede App läuft in einem eigenen Linux-Prozess. Jeder Prozess hat in Android seine eigene Instanz in der DalvikVM, die zeitgleich mit dem Prozess kreiert wird und beim Beenden des Prozesses wieder zerstört wird. Ein Hauptprozess, der „init“-Prozess, wird beim Aufstarten des Smartphones oder Tablets gestartet. Dieser Prozess lädt und initialisiert eine Instanz der DalvikVM. Wenn wir nun eine App starten, sendet diese eine Nachricht an diesen Prozess, der dann den Android Activity Manager Service kontaktiert, um die Java-Klasse dieser App zu laden (Näheres dazu in einem später erscheinenden Artikel).

Die Sicherheitsarchitektur des AOS ist so ausgelegt, dass eine App grundsätzlich über keinerlei Berechtigungen verfügt, die erlauben würde, Operationen auszuführen, die anderen Apps, dem System oder dem Benutzer schaden könnten. Dies beinhalten das Lesen oder Schreiben von privaten Benutzerdaten (wie die Kontakte oder e-Mails), das Lesen oder Schreiben von Dateien anderer Apps, Netzwerkzugang zu bekommen etc. Weil im AOS die Apps voneinander abgekapselt sind, müssen sie Ressourcen und Daten explizit miteinander teilen. Dies wird über das Erteilen von Berechtigungen ermöglicht, so die Apps über Zugriffe verfügen können, die nicht in ihrem eigenen Prozess zur Verfügung stehen.

Quellen: 

http://developer.android.com/guide/index.html;

http://en.wikipedia.org/wiki/Dalvik_(software);

http://de.wikipedia.org/wiki/Android_(Betriebssystem)

Diesen Beitrag teilen
Facebook TwitterEmail Print
Teilen
Geschrieben von Gary Madeo Gründer und Autor
Folgen:
Vor Jahren nebenher aus Spaß an der Freude gegründet, wird er dieses Projekt so schnell nicht mehr los. Bloggt und kümmert sich um die gesamte Technik hinter einem Tech-Blog.

Zuletzt

copy of asus rt ac86u test
VPN-Router (NordVPN, AsusWRT): einfach schnell unterwegs!
13. Mai 2022 8.8k Mal gelesen
gold bars
Gold als Inflationsschutz – Tipps für die
Anlage in Gold
13. Mai 2022 38 Mal gelesen
Motion Boom Plus River
Neue 80-Watt-Lautsprecherbox hört auf den Namen Soundcore Motion Boom Plus
9. Mai 2022 237 Mal gelesen
Roborock S7 neu
Roborock S7 Station mit Selbstreinigung und Bundle S7 MaxV Ultra ab 4. Mai erhältlich
4. Mai 2022 274 Mal gelesen
Crypto2
Digitales Gold der Moderne
26. April 2022 172 Mal gelesen
Alle News. Jederzeit.

Keine weiteren Beiträge mehr verpassen.

Ich stimme den Nutzungsbedingungen zu.

Empfehlungen

p40 lite s1 pc green
Android Updates & Tipps

Empfehlung: Huawei p40 Lite

30. September 2021
Google Pixel 5a
Android Updates & Tipps

Google Pixel 5a Vorbestellung in den USA angelaufen

18. August 2021
OnePlus Nord 2
Android Updates & Tipps

OnePlus Nord 2 Kernel Source Code offengelegt

8. August 2021
android 12 easteregg
Android Updates & Tipps

Zum Download: Google Pixel 6 Wallpaper

5. August 2021
techboys.de • smarte News, auf den Punkt!techboys.de • smarte News, auf den Punkt!
Folge Uns

© 2022 techboys.de. Erstellt mit Liebe & vielzuviel Espresso.

  • Kontakt
  • Datenschutz
  • Cookies
  • AGB
  • Impressum
  • Haftungsausschluss
Cookie-Zustimmung
Um dir ein optimales Erlebnis zu bieten, verwenden wir Technologien wie Cookies, um Geräteinformationen zu speichern und/oder darauf zuzugreifen. Wenn du diesen Technologien zustimmst, können wir Daten wie das Surfverhalten oder eindeutige IDs auf dieser Website verarbeiten. Wenn du deine Zustimmung nicht erteilst oder zurückziehst, können bestimmte Merkmale und Funktionen beeinträchtigt werden.
Funktional Immer aktiv
Die technische Speicherung oder der Zugang ist unbedingt erforderlich für den rechtmäßigen Zweck, die Nutzung eines bestimmten Dienstes zu ermöglichen, der vom Teilnehmer oder Nutzer ausdrücklich gewünscht wird, oder für den alleinigen Zweck, die Übertragung einer Nachricht über ein elektronisches Kommunikationsnetz durchzuführen.
Vorlieben
Die technische Speicherung oder der Zugriff ist für den rechtmäßigen Zweck der Speicherung von Präferenzen erforderlich, die nicht vom Abonnenten oder Benutzer angefordert wurden.
Statistiken
Die technische Speicherung oder der Zugriff, der ausschließlich zu statistischen Zwecken erfolgt. Die technische Speicherung oder der Zugriff, der ausschließlich zu anonymen statistischen Zwecken verwendet wird. Ohne eine Vorladung, die freiwillige Zustimmung deines Internetdienstanbieters oder zusätzliche Aufzeichnungen von Dritten können die zu diesem Zweck gespeicherten oder abgerufenen Informationen allein in der Regel nicht dazu verwendet werden, dich zu identifizieren.
Marketing
Die technische Speicherung oder der Zugriff ist erforderlich, um Nutzerprofile zu erstellen, um Werbung zu versenden oder um den Nutzer auf einer Website oder über mehrere Websites hinweg zu ähnlichen Marketingzwecken zu verfolgen.
Optionen verwalten Dienste verwalten Anbieter verwalten Lese mehr über diese Zwecke
Optionen verwalten
{title} {title} {title}
techboys.de
Willkommen zurück!

Anmelden!

Passwort vergessen?