3. Betrachtete mobile Betriebssysteme

Der Begriff Betriebssystem umfasst im Rahmen dieser Studie alle Softwarekomponenten eines mobilen Endgerätes, die einerseits die Geräte-Hardware steuern und andererseits Ausführungsumgebungen für Anwendungen auf den mobilen Endgeräten bereitstellen.1

Der Zusammenhang eines Betriebssystems mit der Geräte-Hardware kann je nach Hersteller unterschiedlich ausgeprägt sein. So obliegt es diesem z.B., seine Software zu lizenzieren, sodass Smartphone-Hersteller diese auf ihren Geräten einsetzen können. Während Apple und BlackBerry dies nur für ihre eigenen Smartphones erlauben, wird Android und Windows Phone von vielen Smartphone-Herstellern auf deren Geräten angeboten. Daneben sind einige Unterschiede der Ökosysteme für Nutzer leicht ersichtlich, wie z.B. die unterschiedlichen App-Markets der Hersteller. Ein Android- Nutzer kann Apps nicht im Apple App Store kaufen und umgekehrt.

Einer Studie des Kantar Worldpanels [16] zufolge teilt sich der Marktanteil von mobilen Betriebssystemen in Deutschland im Wesentlichen in die vier hier betrachteten auf (Stand März 2014): Android stellt mit 77 % das verbreitetste mobile Betriebssystem dar, gefolgt von Apples iOS (15,3 %), Windows Phone (6,6 %) und BlackBerry OS (0,5 %). Neben diesen gibt es noch weitere Betriebssysteme (z.B. Firefox OS2) oder Sailfish OS3 ), deren gemeinsamer Anteil sich aber nur auf 0,6 % beläuft.

In den nachfolgenden Abschnitten werden die untersuchten Betriebssysteme kurz vorgestellt. Die Darstellungen informieren über die Eigenschaften der einzelnen Systeme und das Ökosystem, in das die Systeme eingebettet sind. Verkürzt dargestellt werden unter Ökosystem hier alle Interaktionen des Betriebssystems mit externen Komponenten zusammengefasst, die während des Betriebs des Systems regelmäßig vorkommen. Im Falle mobiler Betriebssysteme sind als Teile von deren Ökosystem insbesondere die Geräte relevant, die Möglichkeiten zur Entwicklung von Apps durch App-Frameworks sowie die Anbindung an Verteilungspunkte bzw. Bezugspunkte von Apps, die App-Markets, haben.

Android

  • BETRIEBSSYSTEM & GERÄTE Das Betriebssystem Android in der Version 4.4 ist ein quelloffenes4 , Linux-basiertes System, das von der Open Handset Alliance weiterentwickelt wird. Die Steuerung dieser Initiative unterliegt hauptsächlich Google. Android kommt auf verschiedenen Geräten (u.a. Smartphones, Tablet-PCs und Netbooks) unterschiedlicher Hersteller zum Einsatz.

    Aus der Quelloffenheit Androids ergibt sich bei Aktualisierungen des Betriebssystems eine Herausforderung für die Gerätehersteller. Grund hierfür ist, dass die unterschiedlichen Endgeräte, die Android als Betriebssystem nutzen, in der Hardware voneinander abweichen. Daher kann ein Gerätehersteller ein Update von Android nicht direkt einsetzen, sondern muss gerätespezifische Anpassungen vornehmen. Dies bedeutet auch, dass sicherheitsrelevante Aktualisierungen des Betriebssystems nur zeitlich verzögert vom jeweiligen Gerätehersteller integriert werden können.

    Der Betriebssystemkern basiert auf Linux, welcher die Hardware-Unterstützung, geräteunabhängige Programmierschnittstellen sowie Benutzerschnittstellen bereitstellt. Seit seinem ersten offiziellen Release im Jahre 2008 hat sich Android rasant verbreitet und ist heute (Juli 2014) das am weitesten verbreitete Betriebssystem für mobile Endgeräte.

  • APP-FRAMEWORK Apps für Android werden in Java entwickelt und jeweils in einer Instanz der Dalvik Virtual Machine (VM) ausgeführt. Dabei handelt es sich um eine für die Anforderungen mobiler Endgeräte modifizierte Java Virtual Machine. Apps werden voneinander isoliert, indem Android sowohl auf Prozess als auch auf Dateiebene jede App mit einer eigenen Unix User ID ausführt. Daher haben Android-Apps grundsätzlich nur Lese- und Schreibrechte in ihrem eigenen Verzeichnis. Weiterhin kann auch die Ausführung der Apps in ihrer eigenen VM als Isolierung von anderen Apps bewertet werden, allerdings stellt dies keinen expliziten Teil des Android-Sicherheitsmodells dar. Grund hierfür ist, dass Android Apps auch Bibliotheken einbinden können, die außerhalb der VM ausgeführt werden.
  • APP-MARKET Android-Apps können vom Google Play Store, dem offiziellen App-Market von Google, bezogen werden. Außerdem lassen sich Android-Apps von Drittmärkten herunterladen und installieren.

BlackBerry OS

  • BETRIEBSSYSTEM & GERÄTE Das Betriebssystem BlackBerry OS in Version 10 (BB OS) kommt ausschließlich auf mobilen Endgeräten des Herstellers BlackBerry (vormals Research In Motion (RIM)) zum Einsatz. Der Quellcode von BlackBerry OS ist Closed Source, d.h., der Quellcode steht nicht öffentlich zur Verfügung.

    Eine Besonderheit von BB OS liegt darin, dass es Benutzern zwei unterschiedliche, voneinander getrennte Bereiche bereitstellt. Dadurch lassen sich private und berufliche Apps sowie damit verbundene Daten auf Ebene des Betriebssystems voneinander trennen.

  • APP-FRAMEWORK Apps für BB OS können u.a. in den Programmiersprachen C++ sowie QT Modeling Language (QML) entwickelt werden.
  • APP-MARKET Nutzer von BB OS können die Apps über den BlackBerry-eigenen App-Market, BlackBerry App-World, beziehen. Zusätzlich bietet BlackBerry OS ab Version 10.2.1 die Möglichkeit, Android-Programme direkt auszuführen. Dazu muss die Applikation (als .apk-Datei) auf das BlackBerry-Smartphone kopiert werden, dort kann sie anschließend direkt ausgeführt werden. Außerdem lassen sich Apps von Drittmärkten herunterladen und installieren.

iOS

  • BETRIEBSSYSTEM & GERÄTE Das Betriebssystem iOS in der betrachteten Version iOS 7 ist das Betriebssystem der Firma Apple. Es kommt auf allen mobilen Endgeräten von Apple zum Einsatz (iPhone, iPad, iPod etc.). iOS basiert auf Mac OS X, dem Betriebssystem, welches auf Apple-Notebooks sowie Desktop-Rechnern eingesetzt wird. Der Quellcode von iOS ist Closed Source, d.h., der Quellcode steht nicht öffentlich zur Verfügung.
  • APP-FRAMEWORK Apps für iOS werden in der Programmiersprache ObjectiveC entwickelt. Zur Entwicklung von Apps für iOS steht daher nur eine Auswahl öffentlicher Programmierschnittstellen (API) zur Verfügung. Konzeptionell ähnelt der Aufbau von iOS dem von Android. Auch hier werden unterschiedliche APIs genutzt, um grafische Oberflächen zu generieren, ortsabhängige Dienste bereitzustellen und Betriebssystemfunktionen zu nutzen.

    Auch iOS isoliert Apps voneinander. Dabei wird der Zugriff einer App, die nicht Teil des Werkzustandes des Gerätes ist, beschränkt. Standardmäßig können Drittanbieter-Apps nicht außerhalb ihres Verzeichnisses lesend oder schreibend auf andere Ressourcen zugreifen.

    App-Market-Apps für iOS können von privaten Nutzern ausschließlich über den Apple-eigenen App-Market Apple App Store installiert werden.

Windows Phone

  • BETRIEBSSYSTEM & GERÄTE Windows Phone 8 (WP8) bezeichnet das aktuelle Betriebssystem für Smartphones der Firma Microsoft. Es kommt auf Smartphones unterschiedlicher Hersteller (darunter Nokia, Samsung, HTC sowie Huawei) zum Einsatz. Der Quellcode von Windows Phone ist Closed Source, d.h., der Quellcode steht nicht öffentlich zur Verfügung.
  • APP-FRAMEWORK Zur Entwicklung von Apps für Windows Phone werden XAML, C# sowie C++ genutzt. Wie im Falle der anderen Betriebssysteme werden auch auf dem Windows Phone Apps isoliert voneinander ausgeführt. Ähnlich wie im Falle von Android, iOS und BB OS beschränkt WP8 den Zugriff auf Ressourcen außerhalb einer App.
  • APP-MARKET Private Nutzer können Apps für Windows Phone nur über den Windows Phone Store, den von Microsoft vorgesehenen Vertriebsweg im Windows-Phone-Ökosystem, installieren.
  1. Nicht betrachtet werden Hardware- sowie Softwarekomponenten, die für den Betrieb von Baseband-Prozessoren benötigt werden. Diese Prozessoren implementieren die Signalerzeugung sowie -verarbeitung, die zur Kommunikation in Mobilfunknetzen zum Einsatz kommt. []
  2. http://www.mozilla.org/de/firefox/os/ (Letzter Zugriff 29.07.2014 []
  3. https://sailfishos.org (Letzter Zugriff 29.07.2014) []
  4. Quelloffene bzw. Open-Source-Software bezeichnet Software, deren Quell-Code prinzipiell von jedem gelesen werden kann. Dies ermöglicht es, die Funktionsweise einer Software nachzuvollziehen und gegebenenfalls zu modifizieren. []