Facebook Twitter Google RSS

9. November 2014

Android und die Funktionsweise


In den letzten Artikeln was ich geschrieben habe ist es speziell um den Bereich Programmierung sowie Informationstechnik gegangen. Dazu muss ich aber sagen das dieser Themenbereich ein wenig von dem Smartphonebereich abwich und eigentlich eher die Computerbranche betraf. Das macht aber nichts da die heutigen Mobiltelefone teilweise schon kleine Computer sind und vom Aufbau her sehr ähnlich wenn nicht gleich funktionieren.

Foto: Tirol Tech

Unsere Thematik in diesem Artikel wird das Betriebssystem Android betreffen und dabei möchte ich etwas tiefer gehen und zwar in die Funktionsweise von Android. Es ist zwar ein noch komplexeres Thema als die vorigen Beiträge, aber dadurch das Android mittlerweile der Marktführer ist auch ein sehr aufregendes und spannendes Themengebiet.

Beginnen möchte ich mit einem kleinen geschichtlichen Rundgang. 2005 kaufte Google das 2003 von Andrew Rubin gegründete Unternehmen namens Android. Damals war Android eigentlich nur für Digitalkameras gedacht bis dann 2007 bekannt wurde das Google Mithilfe der Open Handset Alliance ein Betriebssystem speziell für Smartphones entwickeln möchte. Seit 2008 ist Android offizielles Betriebssystem für Smartphones auf dem Softwaremarkt und mittlerweile der Weltmarktführer in diesem Bereich. Noch vor IOS dem Betriebssystem von Apple. Als erstes mit lauffähigen Betriebssystem "Android" zählende Mobiltelefon gilt das HTC Dream unter den Namen T-Mobile G1, welches im Oktober 2008 in den USA herauskam.

Doch sehen wir uns nun Android etwas spezifischer an. Jeder von Ihnen hat schon ein Smartphone mit diesem Betriebssystem in der Hand gehalten sei es vom Herstellers HTC, Samsung oder Sony. Doch nur wenige von Ihnen werden sich die Frage stellen, was steckt eigentlich hinter dem System bzw. wie ist Android aufgebaut oder gar programmiert? Das wollen wir uns jetzt näher ansehen.

Die Architektur von Android baute am Anfang auf den Linux-Kernel 2.6 auf, seit Android 4.x werden Kernel der Reihe 3.x verwendet. Dieser Kernel ist zuständig für die Speicher- und Prozessorverwaltung und stellt auch die Gerätetreiber des Systems zur Verfügung. In Android wird hauptsächlich in Java programmiert wobei auch andere Sprachen zum Einsatz kommen. Der Linux-Kernel selbst ist in C programmiert.

Anwendungen unter Android mit der Endung .apk (android package) werden ebenfalls in Java programmiert greifen aber des öfteren auf Bibliotheken zu die in C oder C++ geschrieben sind, die am Kernel liegen. Ein wenig später mehr darüber. Wie Anwendungen aber programmiert sind möchte ich Ihnen hier nicht erklären dazu werde ich noch einen eigenen Artikel erstellen.

Der wichtigste Bestandteil von Android ist der Kernel. Hier findet die ganze Prozess- und Datenorganisation statt. Dies ist notwendig weil alle weiteren Softwarebestandteile des Systems darauf aufbauen. Auch ist der Kernel die unterste Softwareschicht mit direkten Zugriff auf alle Hardwarekomponenten.

Ein Kernel ist in Schichten aufgebaut wobei zu beachten ist, dass die unteren Schichten die Basis für die darüber liegenden Schichten sind. Bedeutet weiter dass die oberen Schichten auf die Funktion der Unteren zugreifen können aber umgekehrt ist dies nicht möglich.

Hier ein kleiner Ausschnitt der Schichten eines Kernels:

  • Schnittstelle zur Hardware
  • Speicherverwaltung
  • Prozessverwaltung

Neben dem Kernel laufen noch Anwendungen (die in Java programmiert sind) die sich an den jeweiligen Funktionen des Kernels (programmiert in C) bedienen, je nachdem welche Funktionen unterstützt werden. Dies ist für die Kommunikation zwischen Anwendung und Kernel notwendig.

Und welche Aufgaben gibt es neben den Schichten? Richtig, eine ganze Menge an Aufgaben die zu bewerkstelligen sind.

Vorhin habe ich es schon kurz angesprochen, die Schnittstelle für Anwendungsprogramme, genau. Im weiteren Sinne das die Anwendung sich öffnet, schließt, die Eingabe und Ausgabe der Daten,.... Damit verbunden ist die Kontrolle des Zugriffs auf Prozesse, Speicher, Geräte damit alles ordnungsgemäß abgewickelt wird. Auch die Verteilung der Ressourcen als auch die Strukturierung von den Ressourcen wird durch den Kernel geregelt. Dieser Artikel stellt einen kurzen und groben Überblick der Funktionsweise von Android dar. Natürlich gäbe es noch viel mehr darüber zu berichten, was aber den Rahmen dieses Artikels sprengen täte. Ich bitte Sie dies zu Entschuldigen.

Noch kurz zum Anschluss möchte ich kurz erwähnen das die Namen von Android nach einer Süßspeise benannt sind. Bisher gibt es folgende Android Versionen:


1.0 „Base“
1.1 „Base_1.1“
1.5 „Cupcake“
1.6 „Donut“
2.0.x / 2.1 „Éclair“
2.2.x „Froyo“
2.3.x „Gingerbread“
3.x.x „Honeycomb“
4.0.x „Ice Cream Sandwich“
4.1.x / 4.2.x / 4.3.x „Jelly Bean“
4.4.x „KitKat"
5.0 „Lollipop"


Wir sehen also reichlich verschiedene Varianten die alle vom Funktionsaufbau gleich sind oder sich ganz gering unterscheiden. Natürlich ist die älteste Version nicht auf dem technischen Stand wie die Letzte. Das ist unmöglich weil wie bei allem, alles auf der Vergangenheit aufgebaut ist und dadurch ein stetiger technischer Fortschritt stattfindet.


Ihr Martin


Quelle:


Über mich


Herzlich Willkommen bei Tirol Tech. Mein Name ist Martin Scholz, Gründer und Inhaber, von Tirol Tech. Ich bin ein extremer Technikenthusiast und habe es mir zur Aufgabe gemacht mein technisches Wissen in Wort und Schrift niederzuschreiben. Im Mai 2014 wurde der Grundstein für Tirol Tech gelegt, um Sie mit topaktuellen Neuigkeiten aus dem Bereich der Technik mit Schwerpunkt Telekommunikation, zu beliefern.

Leserkommentare anzeigen:

Unser Fachbegriffelexikon:

Tirol Tech

A

APK

Das Android Programmformat (Android Package).



APP DRAWER

Die Übersicht aller installierten und vorinstallierten Apps. Meist Über den Menübutton unten in der Mitte erreichbar.



ART - Android Run Time

Das System auf Android Smartphones kompiliert gleich bei der Installation in Maschinensprache und damit den kompletten Dalvik Cache löscht, was zu deutlich höherer Performance führt.


F

FPS - FRAMES PER SECONDS

Wird in der Kameratechnik verwendet und beschreibt die Anzahl der Bilder, die in einer Sekunde gemacht oder angezeigt werden.


L

LAUNCHER

Ein Launcher besteht meist aus einer Programmliste und mehreren individuell einrichtbaren Startseiten. Diese Applikation ist sehr gestaltbar und bietet viele Vorteile/Features gegenüber den Stock (vorinstallierten) Launcher.


N

NAV-BAR - NAVIGATIONS BAR

Ist der Balken am unteren Rand des Smartphones mit den Navigationstasten (Einstellungen, Zurück-Button, Homebutton, ‚Task Manager). Meist sind damit die On-Screen-Tasten gemeint, die sich auf dem Bildschirm befinden und nicht am unteren Rand des Smartphones befinden.



NFC - Near Field Communication

Ist eine Technik, mit der man Daten schnell von Android-Gerät zu Android-Gerät über kurze Distanzen ohne Kabel übertragen kann.


O

OS - OPERATING SYSTEM

Ein Operating System ist ein Betriebssystem, das aus einer Zusammenstellung von Computerprogrammen besteht. Im Smartphone-Bereich wird ein OS von verschiedenen Herstellern unterstützt (z.B. Android/Google OS, IOS, etc.)



OTG - On The Go

In Verbindung mit USB. USB OTG ist ein Kabel, das die Verbindung zwischen Smartphone und USB Stick herstellt und zb. Filme vom Massenspeichergerät am Smartphone abspielen kann, ohne dies im Speicher oder Zwischenspeicher zu speichern.


S

SCREENCAST

Screencast ist ein digitaler Film, der die Abläufe bei der Verwendung von Software am Computer-Bildschirm wiedergibt und gegebenenfalls beschreibt. Es ist möglich von Android Gerät zu TV zu übertragen.



SOT - Screen On Time

Ist die Zeitspanne, in der die Akkulaufzeit des Displays gemessen wird.



SSL Verschlüsselung

TLS (Transport Layer Security, deutsch Transportschichtsicherheit), weitläufiger bekannt unter der Vorgängerbezeichnung Secure Sockets Layer (SSL), ist ein hybrides Verschlüsselungsprotokoll zur sicheren Datenübertragung im Internet.



Streaming

Streaming bezeichnet die gleichzeitige Übertragung und Wiedergabe von Video- und Audiodaten über ein Netzwerk. Den Vorgang der Datenübertragung selbst nennt man Streaming, und übertragene („gestreamte“) Programme werden als Livestream oder kurz Stream bezeichnet.


U

USB - Universal Serial Bus

Der Universal Serial Bus ist ein serielles Bussystem zur Verbindung eines Computers mit externen Geräten. Mit USB ausgestattete Geräte oder Speichermedien können im laufenden Betrieb miteinander verbunden und angeschlossene Geräte sowie deren Eigenschaften automatisch erkannt werden.



© 2014 Tirol Tech. WP Wildweblab converted by Bloggertheme9