Betriebssysteme und Programmierung von mobilen Endgeräten


Bachelorarbeit, 2005

88 Seiten, Note: 1,3


Leseprobe


Inhaltsverzeichnis

Abbildungsverzeichnis

Tabellenverzeichnis

Listings

Abkürzungsverzeichnis

Vorwort

Danksagung

1 Einleitung
1.1 Aufbau der Arbeit
1.2 Abgrenzung der Arbeit

2 Begriffsdefinitionen und Einführung
2.1 Betriebssysteme und ihre Anforderungen
2.2 Mobile Endgeräte und ihre Anforderungen
2.3 Begriff: Smartphone

3 Betriebssysteme für mobile Geräte
3.1 Windows für mobile Geräte
3.1.1 Windows CE-Versionen
3.1.2 Windows CE Platform Builder
3.1.3 Architektur von Windows CE
3.1.4 Programmierung von Windows CE
3.1.5 Windows Mobile
3.2 Linux für mobile Geräte
3.2.1 MontaVista Mobilinux
3.2.2 Trolltech Qtopia
3.2.3 Motorola E680i mit Linux

4 Symbian OS im Detail
4.1 Geschichte von Symbian OS
4.2 Die verschiedenen Symbian-Versionen
4.3 Hardware
4.3.1 Drei-Schichten-Struktur
4.3.2 Speicher
4.4 Software-Komponenten
4.4.1 Kernel
4.4.2 Anwendungen
4.4.3 Server
4.4.4 Engine
4.5 System-Komponenten
4.5.1 Kernel und Hardware-Integration
4.5.2 Base-Services
4.5.3 OS-Services
4.5.4 Application-Services
4.5.5 User Interface Framework
4.5.6 Java
4.6 Speicherverwaltung
4.6.1 Memory Management Unit
4.6.2 Verwaltung von RAM und ROM
4.6.3 Laden von Programmen
4.6.4 Prozesse und Threads

5 Programmiersprachen mobiler Endgeräte
5.1 Python für Series 60
5.1.1 Installation von Python
5.1.3 Beispiel Code
5.2 C ++ für Symbian OS
5.2.1 Tools zur Erstellung
5.2.2 Benötigte Dateien
5.2.3 Der Buildprozess
5.2.4 Beispiel Anwendung

6 J2ME im Detail
6.1 Entwicklung von Java
6.2 Entwicklung Java 2 Micro Edition
6.2.1 Das Spottless-Projekt
6.2.2 J2ME KVM
6.3 Spezifikationen der Java 2 Micro Edition
6.3.1 Connected Device Configurtion
6.3.2 Connected Limited Device Configurtion
6.3.3 Profile
6.3.4 MIDlets
6.3.5 Installation von Programmen
6.4 Programmierung von MIDlets
6.4.1 Das Wireless Toolkit
6.4.2 Beispiel eines MIDlets
6.4.3 Persistent Datenspeichern

7 Sicherheit von mobilen Endgeräten
7.1 Viren und Symbian OS

8 Zusammenfassung und Ausblick

9 Quellen
9.1 Literatur
9.2 Internet

Anhang

Ehrenwörtliche Erklärung

Abbildungsverzeichnis

Abbildung 1 Nokia 7650 Smartphone

Abbildung 2 Windows CE Entwicklungsprozess

Abbildung 3 Architektur von Windows CE

Abbildung 4 Windows Mobile Screenshot

Abbildung 5 T-Mobile SDA

Abbildung 6 Vergleich mobile Betriebssysteme

Abbildung 7 Trolltech Qtopia Screenshot

Abbildung 8 Motorola 680i mit Mobilinux

Abbildung 9 Der Psion Organizer 1

Abbildung 10 Anteilseigner an Symbian OS

Abbildung 11 Drei-Schichten-Struktur der Hardware

Abbildung 12 Laufwerke Symbian OS

Abbildung 13 Grenzen zwischen den Software-Komponenten

Abbildung 14 Vergleich Microkernel und monolythischer Kernel

Abbildung 15 System-Komponenten von Symbian OS 9

Abbildung 16 Kontextübergabe mit Hilfe der MMU

Abbildung 17 Speicherverwaltung in RAM und ROM

Abbildung 18 Threads innerhalb eines Prozesses

Abbildung 19 Python Auswahlmenü

Abbildung 20 Python-Konsole

Abbildung 21 Bluetooth-Konsole

Abbildung 22 Hello World in Phython

Abbildung 23 Workflow des Buildprozesses

Abbildung 24 Hello World Konsolen-Anwendung

Abbildung 25 Übersicht der Java-Versionen

Abbildung 26 Aufbau der Java 2 Micro Edition

Abbildung 27 Teilmengen der Java-Konfigurationen

Abbildung 28 Zustände eines MIDlets

Abbildung 29 Screenshot des J2ME Wireless Toolkit

Abbildung 30 WTK Mobiltelefon-Emulator

Abbildung 31 Ausgabe HelloMidlet

Tabellenverzeichnis

Tabelle 1 Vergleich Hardware-Anforderung CLDC und MIDP

Tabelle 2 Ausgewählte Pakete im MIDP

Tabelle 3 In MIDP erforderliche Jad-Attribute

Listings

Listing 1 Beispiel einer Projektdefinitions-Datei

Listing 2 Beispiel einer Jad-Datei

Listing 3 ChalloWeltApp.cpp

Listing 4 ChalloWeltAppUi.cpp

Listing 5 ChalloWeltContainer.cpp

Listing 6 ChalloWeltDocument.cpp

Listing 7 Hallowelt.hrh

Listing 8 Hallowelt.loc

Listing 9 HalloWeltApp.h

Listing 10 HalloWeltAppUi.h

Listing 11 HalloWeltContainer.h

Listing 12 HalloWeltDocument.h

Abkürzungsverzeichnis

Abbildung in dieser Leseprobe nicht enthalten

Vorwort

Die Idee zu dieser Arbeit ist nach dem Kauf eines neuen Mobiltelefons entstanden. Dieses Telefon war mit einer Kamera und Java ausgestattet. Aus Neugierde probierte ich alle Funktionen aus und programmierte mir ein kleines MIDlet. Die Idee, ein kleines Programm zu schreiben, was die Fahrzeiten der KVB enthält und jederzeit abrufbar macht, faszinierte mich.

Danksagung

Für die Unterstützung bei der Arbeit danke ich Professor Dr. Victor und Professor Dr. Ehses. Ich danke meiner Tante Ingrid Klein, meiner Mutter Dominique Ariste und meinem Vater Rainer Eßer für die Unterstützung beim Schreiben dieser Arbeit. Vielen Dank auch an Beate und Kurt Warmbier für die Gastfreundschaft im schönen Bergischen Land.

Köln, im August 2005

Sebastian Eßer

1 Einleitung

Das Mobiltelefon ist aus dem heutigen Alltag nicht mehr wegzudenken, alleine der Weltmarktführer Nokia hat 2004 207,7 Millionen[1] Geräte verkauft.

War das Mobiltelefon am Anfang seiner Einführung meist den Behörden, wie der Polizei oder der Feuerwehr vorbehalten, besitzt heute fast jeder ein solches Gerät.

Die ersten Modelle waren nicht nur sehr unhandlich und teuer, sondern auch vom Funktionsumfang her nicht mit den heutigen Modellen vergleichbar.

Im Laufe der Zeit wurden in das Mobiltelefon immer mehr Funktionen integriert wie Kalender oder Wecker. Eine der beliebtesten Funktionen von Handys sind kleine Spiele. Eines der ersten Geräte mit einer solchen Funktion war das Nokia 5110[2] mit dem Spiel Snake.

Die Anforderungen an ein Mobiltelefon sind mit der Zeit gewachsen. Der Funktionsumfang eines solchen Gerätes nähert sich immer mehr dem PDA bzw. dem Personal Computer. Seit dem Jahr 2001 sind die ersten Mobiltelefone im Umlauf, auf denen es möglich ist eigene Java-Anwendungen zu installieren. Die Java 2 Micro Edition[3] ist eine Java-Version speziell für mobile Endgeräte. Die Einführung von Java auf mobilen Geräten hat eine Vielzahl von Anwendungen hervorgebracht. Die bekanntesten Java-Programme sind kleine Spiele, die z.B. von Jamba[4] angeboten werden. Außer Spielen gibt es andere Anwendungen wie Webbrowser[5], Emailclients[6] oder die Kontoführung vom Mobiltelefon[7] aus.

Seit 2002 werden immer mehr Telefone mit einer kleinen Fotokamera ausgestattet. Eines der ersten Geräte dieser Gattung war das Nokia 7650[8]. Dieses Handy war eines der ersten mit dem Betriebssystem Symbian OS.

Moderne Telefone haben eine integrierte Kamera, einen Kalender, können beliebige Anwendungen aufladen und in einigen Fällen auch TV Programme empfangen. Ein solcher Funktionsumfang setzt hohe Ansprüche an die Hard- und Software eines modernen Gerätes.

Wie bei einem Personal Computer gibt es für Mobiltelefone verschiedene Betriebssysteme[9]. Eines der derzeit auf dem Markt am verbreitesten[10] Systeme ist Symbian OS. Bei der Entwicklung von Symbian OS sind die führenden Mobiltelefon-Hersteller beteiligt, unter anderem Nokia und Sony Erricson. Microsoft spielt auch auf diesem Markt eine Rolle und bietet für Smartphones ein mobiles Windows an. Andere Hersteller, wie z.B. Motorola[11] setzen auf Linux für mobile Geräte.

Um den Funktionsumfang der Geräte bereitzustellen, sind umfangreiche Programmiersprachen nötig. Zur Zeit sind die beiden wichtigsten Sprachen im mobilen Bereich Java und C++. Java zeichnet sich durch sein breites Einsatzspektrum aus, viele mobile Geräte unterstützen die Java-Plattform. Im Gegensatz zu Java wird C++ nur von Smartphones unterstützt, bietet aber einen größeren Funktionsumfang und die Möglichkeit der systemnahen Programmierung.

In dieser Arbeit wird ein Überblick über die zur Zeit gängigen Betriebssysteme und Programmierungsarten moderner Mobiltelefone gegeben. Die Java 2 Micro Edition und das Betriebssystem Symbian OS stehen hierbei im Vordergrund.

1.1 Aufbau der Arbeit

Im zweiten Kapitel werden die Begriffe Smartphone und mobile Betriebssysteme definiert. Dieses Kapitel ist als Einführung gedacht, um den Einstieg in die Materie zu erleichtern.

Im dritten Kapitel geht es um die beiden Betriebssysteme Windows Mobile und Linux Mobile. Die Betriebssysteme sind speziell für mobile Geräte entwickelt bzw. adaptiert worden.

Im vierten Kapitel wird das Betriebssystem Symbian OS vorgestellt. Seine Entstehung wird aufgezeigt und ein technischer Einblick vermittelt.

Im fünften Kapitel ist die Programmierung von mobilen Endgeräten zentrales Thema. Hier geht es um verschiedene Programmiersprachen, die für mobile Geräte verfügbar sind.

Im sechsten Kapitel wird die Java 2 Micro Edition ausführlicher behandelt. Die Ursprünge und die Entwicklung der Sprache werden hier aufgezeigt. Die Funktionsweise der Java-Anwendungen und die Programmierung der Geräte werden behandelt.

Im siebten Kapitel wird auf die Virengefahr auf Mobiltelefonen eingegangen und ein Anti-Viren-Programm vorgestellt.

Im achten Kapitel wird ein Fazit gezogen und ein Ausblick auf die zukünftige Entwicklung bei den mobilen Endgeräte geworfen.

1.2 Abgrenzung der Arbeit

Diese Arbeit soll einen Überblick über das Themengebiet Programmierung und Betriebssysteme von mobilen Endgeräten vermitteln. Die Arbeit beschäftigt sich mit Mobiltelefonen und Smartphones. PDA oder andere mobile Geräte werden nicht ausführlicher behandelt. Allerdings treten bei einigen Themengebieten Überschneidungen auf.

Diese Arbeit ist weniger als technische Referenz für einzelne Themengebiete zu sehen. Der Überblick über die verschiedenen Möglichkeiten steht hier im Vordergrund.

2 Begriffsdefinitionen und Einführung

In diesem Kapitel werden die Begriffe, die in der Arbeit benutzt werden, genauer bestimmt.

2.1 Betriebssysteme und ihre Anforderungen

Jeder, der einen Computer bedient, hat auch automatisch mit dem Betriebssystem zu tun. Das bekannteste Betriebssystem ist Windows von Microsoft. Dieses hat weltweit den höchsten Marktanteil bei Personal Computern.

Das auf der Welt am häufigsten[12] eingesetzte Betriebssystem ist allerdings ITRON. Dieses System ist auf ca. 3 Milliarden Embedded-Geräten installiert. Zu diesen Geräten gehören vor allem Unterhaltungs- und Haushaltsgeräte. Im Gegensatz zum Personal Computer ist das Betriebssystem bei diesen Geräten nicht immer als solches erkennbar.

Eine Auswahl an Aufgaben, die ein Betriebssystem zu bewältigen hat:

- Ein- und Ausgaben managen
- Geräte verwalten
- Steuern der Prozesse
- Betriebsmittel zuteilen
- Systemspeicher einteilen

Genaue Definitionen des Begriffs Betriebssystem:

Taschenbuch der Informatik[13]

„...Ein Betriebssystem (operating system) stellt das Bindeglied zwischen der Hardware eines Computers einerseits und dem Anwender bzw. seinen Programmen andererseits dar. Es umfasst Programme, die zusammen mit den Eigenschaften des Computers „die Grundlage der möglichen Betriebsarten dieses Systems bilden und insbesondere die Abwicklung von Programmen steuern und überwachen.“...“

Duden Informatik[14]

„Betriebssystem (seltener Systemsoftware genannt: engl. operating system): zusammenfassende Bezeichnung für alle Programme, die Ausführung, das Zusammenwirken und den Schutz der Benutzerprogramme, die Verteilung der Betriebsmittel auf die einzelnen Benutzerprogramme und die Aufrechterhaltung der Betriebsart steuern und überwachen“

Das Betriebssystem ist die zentrale Schaltstelle eines modernen digitalen Gerätes. Ohne diese Software ist ein modernes digitales Gerät nicht in der Lage seine Aufgaben zu bewältigen.

Die Anforderungen an ein mobiles Betriebssystem gleichen in Teilen denen eines stationären Systems, wie z.B. Windows.

Grundlegende Unterschiede stellen allerdings die begrenzten Hardware-Ressourcen dar, die sich bei einem Mobiltelefon ergeben. Der Speicher eines Mobiltelefons ist aus Kostengründen meist recht knapp bemessen. Die zum Betrieb nötige Software sollte also so wenig Speicher wie nötig beanspruchen.

Zu beachten ist auch die möglichst effiziente Nutzung des Speichers zur Laufzeit. So sollten benötigte Programme ein Minimum an Speicher für sich beanspruchen.

Bedingt durch einen möglichst niedrigen Stromverbrauch sind die Prozessoren in ihrer Leistungsfähigkeit beschränkt. Software, die für ein solches Gerät entworfen ist, muss dies berücksichtigen und darf den Prozessor so wenig wie möglich belasten.

Der Stromverbrauch spielt eine zentrale Rolle. Ein Mobiltelefon wird von einem Akku gespeist und hat nur gelegentlich eine Verbindung zum Stromnetz. Das Betriebssystem muss also dafür Sorge tragen, dass mit der Ressource Strom möglichst effektiv umgegangen wird. Eine Möglichkeit für einen geringen Stromverbrauch ist ein gutes Power Management. Dies kann bei Bedarf einzelne Komponenten deaktivieren.

In Gegensatz zu einem Personal Computer, bei dem Abstürze in Kauf genommen werden, darf dies bei einem Mobiltelefon nicht der Fall sein. Sollten sich dennoch Fehler einschleichen, ist dies mit erheblichen Kosten verbunden. Im Unterschied zum Home Computer, muss die Software in einem solchen Fall vom Hersteller neu aufgespielt werden.

Anwender eines Mobiltelefons legen besondern Wert auf eine schnelle Reaktion ihres Gerätes. Hier müssen die Aktionen in Realtime ausgeführt werden. Können beim Personal Computer Arbeitsschritte langsamer ausgeführt werden, sollte beim Telefon niemand lange auf das Starten des Systems oder das Erscheinen der SMS Eingabe warten. Eine besondere Anforderung an die Software stellt hier die begrenze Leistungsfähigkeit der verwendeten Prozessoren. Hier ist besonders Haushalten mit den Ressourcen von Nöten.

2.2 Mobile Endgeräte und ihre Anforderungen

Unter einem mobilen Endgerät versteht man Mobiltelefone, PDAs, Notebooks und Onboard Systeme von Flugzeugen und Automobilen. Ein mobiles System zeichnet sich dadurch aus, dass es keine externe Stromquelle benötigt. So ist es möglich, das System an verschiedenen Orten unabhängig vom Stromnetz zu betreiben.

Eine große Anzahl von mobilen Geräten sind sogenannte Embedded Systeme, die wie ihr Name andeutet, eingebettet sind. Zu diesen Geräten gehören z.B. mobile Navigationssysteme. Durch die Mobilität entstehen an diese Geräte spezielle Anforderungen. Ein mobiles Gerät sollte gegen Schmutz geschützt sein, starke Temperaturschwankungen aushalten und erschütterungs-unempfind-
lich sein.

Mobile Systeme haben in der Regel keine dauerhafte Verbindung zum Stromnetz. Die meisten Systeme werden durch einen Akkumulator mit Strom versorgt. Sollte dieser leer sein, darf dies nicht zu einem Verlust der Daten führen.

2.3 Begriff: Smartphone

Definition des Begriffs Smartphone aus dem Handlexikon der Informatik[15]:

„Smartphone sind mit Intelligenz ausgestattete mobile Telefone, die eine Synthese aus einem intelligenten persönlichem Informationssystem und einem Handy bilden. Bei dem intelligenten Informationssystem handelt es sich um einen Personal Digital Assistant (PDA) mit persönlichem Informationsmanagement (PIM). Dazu gehört typischerweise der Kalender, die Adressdatenbank, die Aufgabenverwaltung und eine einfache Textverarbeitung. Darüber hinaus verfügt ein Smartphone über Mobilfunkeigenschaften, mit denen Handyfunktionen ausgeführt werden können. In der Regel handelt es sich um Mobilfunkmodule für GSM, HSCSD, GPRS, oder UMTS...“

Alles in allem zeichnet sich das Smartphone durch eine Vielzahl von Funktionen aus. Durch die Funktionsvielfalt wird bei manchen Geräten ein Touchscreen mit einem Stift als Eingabemedium verwendet.

Eines der ersten Smartphones in Europa, war das Nokia 7650. Dieses Telefon besaß eine integrierte Kamera und das Betriebssystem Symbian OS.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 1 Nokia 7650 Smartphone[16]

3 Betriebssysteme für mobile Geräte

Jedes Mobiltelefon braucht ein Betriebssystem um die Funktionalität bereitstellen zu können. Wie bei Personal Computern auch, steht dem Anwender eine Auswahl an Systemen zur Verfügung. Nicht nur Windows und Linux, sondern auch Symbian OS und diverse eigene Entwicklungen der Hersteller sind in modernen Geräten zu finden.

3.1 Windows für mobile Geräte

Microsoft als Weltmarktführer für PC Betriebssysteme bekannt, bietet seit 1996[17] sein Betriebssystem Windows CE auf dem Markt an. Diese spezielle CE-Version von Windows wurde entwickelt, um auf mobilen Geräten, Terminals, Embedded-Systemen und Spiele-Konsolen zum Einsatz zu kommen. Selbst ein Betrieb in Automobilen, als Automotive PC sollte mit Windows CE ermöglicht werden. Um diese Vielfalt der verschiedenen Einsatzbereiche zu ermöglichen, wurden die Bestandteile von Windows CE modular aufgebaut.

3.1.1 Windows CE-Versionen

Der eigentliche Kern des mobilen Windows wird unter dem Namen Windows CE geführt. Wurde das kompakte Windows in den ersten Jahren unter diesem Namen vertrieben, wechselte Microsoft die Bezeichnungen später mehrmals. Windows-Versionen, wie z.B. Pocket PC oder Windows Mobile 2003, basieren auf Windows CE. Die verschiedenen Namensgebungen erschweren den Überblick, daher hier eine Auflistung in chronologischer Reihenfolge[18]:

- Microsoft Windows CE 1.0
- Microsoft Windows CE 1.1
- Microsoft Windows CE 2.0
- Microsoft Windows CE 2.01
- Microsoft Windows CE 2.02
- Microsoft Windows CE 2.1
- Microsoft Windows CE 2.11
- Microsoft Windows CE 2.12
- Microsoft Pocket PC (basiert auf Windows CE 3.0)
- Microsoft Pocket PC 2002 (auch als Phone Edition mit Telefonfunktion, basiert ebenfalls auf Windows CE 3.0)
- Microsoft Windows Mobile 2003 für Pocket PC (auch als Phone Edition mit Telefonfunktionen, basiert auf Windows CE .NET (Windows CE 4.2))
- Microsoft Windows Mobile 2003 Second Edition (Windows CE 4.21)
- Microsoft Windows Mobile 5.0

(basiert auf Windows CE 5.0)

Durch den modularen Aufbau von Windows CE lässt es sich für den eigenen Einsatzzweck selbst zusammenstellen. Der eigentliche Kern bleibt dabei der Gleiche, es werden lediglich die einzelnen Module, die benötigt werden hinzugefügt. Jeder Hardware-Hersteller kann sein passendes Windows selbst zusammenstellen. Als Prozessoren unterstützt werden AMD, ARM, Hitachi, Intel, Motorola, NEC, Philips, und Toshiba[19]. Zu beachten ist die Inkompatibilität zwischen den verschiedenen Geräte-Typen. Windows Programme, die für einen Personal Computer geschrieben wurden, laufen nicht auf einem Gerät mit Windows CE. Erst mit der Einführung des .NET Frameworks wird dies möglich.

3.1.2 Windows CE Platform Builder

Um den Herstellern eine einfache Entwicklung zu ermöglichen, stellt Microsoft den Windows CE Platform Builder zur Verfügung. Diese Software enthält alle Module und Komponenten, die in Windows enthalten sein können. Um eine optimale Anpassung an die Hardware möglich zu machen, können dann die benötigten Teile integriert werden.

Nach der Auswahl der benötigten Betriebssystemteile, wird ein auf die Hardware speziell angepasster SDK erstellt. Dieser beinhaltet alle benötigten Elemente, die ein Programmierer anwenden kann. Dieser auf die Hardware zugeschnittene SDK kann dann in die Entwicklungsumgebungen von Microsoft eingefügt werden. Dies ermöglicht eine einfache Applikations-Entwicklung ohne zusätzliche Programme. Einen detaillierten Einblick in die Entwicklungsschritte einer Plattform für Windows CE zeigt die Abbildung.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 2 Windows CE Entwicklungsprozess[20]

Um die Anwendungen auch testen zu können, besitzt das SDK einen Emulator. Dieser Emulator ist in der Lage, die Programme auf einem normalen Windows PC laufen zu lassen.

3.1.3 Architektur von Windows CE

Windows CE ist in verschiedene Schichten unterteilt, wie die nachfolgende Abbildung verdeutlicht. Die unterste Schicht ist die Hardware, die das mobile Gerät darstellt. Die zweite Schicht ist der OEM Layer. Dieser beinhaltet alle vom Geräte-Hersteller angepassten Elemente, um Windows CE auf seiner Hardware laufen zu lassen. Gerätetreiber für das jeweilige Device und ein entsprechend angepasster Bootloader gehören dazu. Außerdem wird ein OEM Adaptation Layer (OAL) benötigt, der zwischen dem Kernel von Windows und dem OEM Layer bzw. der Hardware vermittelt.

Die nächste Schicht ist der Operating System Layer. Dieser beinhaltet die eigentlichen Betriebssystem-Funktionen. Hier findet sich der Kernel, die grafische Benutzeroberfläche und weitere essenzielle Funktionen, die zum Betriebssystem gehören. Der Kernel spielt eine wichtige Rolle im Betriebssystem. Er ist unter anderem für die folgenden Aufgaben zuständig:

- Memory Management
- Scheduling
- Real-Time Module
- Loader
- System Calls
- Kernel Power Management
- Prozess- und Threadmanagement

Die Programme, sowohl von Windows CE als auch von anderen Anbietern stellen den Application Layer dar. Dieser beinhaltet auch das User Interface und die Internet Client Services.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 3 Architektur von Windows CE[21]

Der Vorteil dieser Architektur in Schichten ist die Auswechselbarkeit und Anpassung der einzelnen Ebenen an die benötigten Anforderungen.

3.1.4 Programmierung von Windows CE

Nachdem man mit dem Platform Builder sein individuelles Windows CE zusammengestellt und den SDK erzeugt hat, kann der SDK in eine Microsoft Entwicklungsumgebung, wie z.B. Visual Studio eingebunden werden. Dem Programmierer stehen dann automatisch die APIs zur Verfügung, die für die „eigene“ Windows-Version benötigt werden. Als Programmiersprachen für Windows CE können sowohl C/C++ als auch Visual Basic eingesetzt werden. Ab Windows Mobile 2003 werden die Sprachen Visual Basic.NET und C# unterstützt. Das Microsoft .NET Framework gehört ab Windows Mobile 2003 zum festen Bestandteil des Betriebssystems und ist im ROM gespeichert.

3.1.5 Windows Mobile

Microsoft unterscheidet zwei Windows Mobile-Versionen, zum einen die für Pocket PC und zum anderen die für Smartphones. Die Unterschiede der beiden Systeme bestehen in der Größe der Geräte, der Größe der Displays und der Eingabe per Touchscreen bei Pocket PCs. Der Pocket PC ist ein vollständiger PDA, ähnlich dem Palm PDA, während das Smartphone ein normales Mobiltelefon mit erweiterten Funktionen ist.

Wie die Abbildung zeigt, lehnt sich die Bedienung des Windows Smartphones an die von Windows XP an. Programme, die man vom Windows-Desktop-Rechner kennt, finden sich ebenfalls wieder. Internet Explorer, Media Player, MSN Messenger und ein Datei Manager gehören zu den Standard-Programmen von Windows Mobile. Erweiterbar ist der Software Umfang durch Java Midlets oder Windows Mobile-Programme.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 4 Windows Mobile Screenshot[22]

Eines der wenigen Telefone in Deutschland mit Windows als Betriebssystem ist das T-Mobile SDA. Dieses durch T-Mobile vertriebene Smartphone besitzt die Möglichkeit der Synchronisation per USB mit dem PC, um seine Daten einfach mit dem PC abgleichen zu können. Auf dem Telefon kommt Windows Mobile 2003 Second Edition für Smartphones zum Einsatz[23]. Mit dem Gerät besteht die Möglichkeit, sich Word, Power Point, Excel und PDF Dateien anzuschauen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 5 T-Mobile SDA[24]

3.2 Linux für mobile Geräte

Im Jahre 1991[25] programmierte der finnische Student Linus Torwards eine Terminal-Emulation, die unabhängig von einem Betriebssystem lief. Ein neues Betriebssystem war geboren. Torwards stellte das Programm im Internet anderen Benutzern zur Verfügung und ermöglichte ihnen an dem Programm mitzuarbeiten. Im März 1994 wurde die Version 1.0 von Linux veröffentlicht. Der Quelltext des Kernels steht seitdem unter der GPL Lizenz. Durch die Evolution der Prozessoren im Mobiltelefon und die Benutzung von speziell angepassten Versionen ist Linux nun auch für das Mobiltelefon verfügbar.

3.2.1 MontaVista Mobilinux

MontaVista ist derzeit einer der bedeutesten Unternehmen, wenn es um Linux für Mobiltelefone geht. Die Firma bietet Geräte-Herstellern das Mobilinux Open Framework an, mit dessen Hilfe eigene Mobiltefone auf Linux-Basis entwickelt werden können. Anders als bei anderen Herstellern, können Software-Kompo-
nenten in das Framework einfach eingefügt werden. Mobilinux 4.0 basiert auf dem Kernel 2.6 und beinhaltet nur die nötigsten Funktionen. Der Kernel wurde optimiert, um ein möglichst schnelles Starten zu ermöglichen und beinhaltet erweiterte Echtzeit-Funktionalität. Eine wichtige Rolle fällt auch dem für mobile Geräte optimierten Power Management zu. Mobilinux unterstützt die Prozessoren ARM und Xscale von Intel[26]. Wie die Abbildung zeigt, ist Mobilinux kein geschlossenes System, wie bei den Konkurrenten von Microsoft und Symbian. Alle Komponenten können verändert oder ausgetauscht werden, dies trifft ebenfalls auch auf den Kernel zu.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 6 Vergleich mobile Betriebssysteme[27]

Durch die Verwendung von Linux steht den Entwicklern viel Dokumentation und Know-how über das Betriebssystem zur Verfügung.

Während Symbian und Windows Mobile zwei Prozessoren für Telefonfunktionen und Ausführung des Betriebssystems benötigen, kommt Mobilinux mit einem aus. Dies macht Mobilinux nicht nur für Smartphones interessant, sondern auch für Feature Phones, die preiswerter angeboten werden und den größten Teil des Marktes ausmachen. Feature Phones haben einen eingeschränkten Funktionsumfang und bieten kein Multitasking wie bei Smartphones. Bei solchen Telefonen setzten die Hersteller derzeit auf selbstentwickelte Software.

3.2.2 Trolltech Qtopia

Qtopia von der schwedischen Firma Trolltech ist kein komplettes Betriebssystem, wie z.B. Symbian OS. Qtopia bietet den Entwicklern von Mobiltelefonen die Möglichkeit, ihr Linux basiertes Gerät mit einer grafischen Benutzeroberfläche und speziellen Applikationen zu versehen. Zu diesen Programmen gehören Kalender, Browser, Adressbücher, Mediaplayer und Telefonfunktionen. Für die Synchronisation zwischen dem Telefon und Outlook bzw. Qtopia Desktop ist ein Framework enthalten. Auf der Basis von Qtopia lassen sich ebenfalls Java-Programme ausführen.[28]

Qtopia ist in zwei Versionen verfügbar, als PDA und Phone-Version. Letztere ist auf den Betrieb auf Mobiltelefonen ausgelegt mit einem kleinen Display und einer Eingabe per Telefontastatur oder Touchscreen.[29] Die Bedienoberfläche und die Software lässt sich an die jeweiligen Anforderungen des Herstellers anpassen.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 7 Trolltech Qtopia Screenshot[30]

Qtopia setzt auf dem Trolltech Qt/Embedded C++ Framework mit integriertem Windowing System auf. Qt ist nicht nur für Linux verfügbar, sondern auch für Windows und Macintosh. Anwendungen können von diesen Systemen auch auf Qtopia portiert werden.[31] Als eigentliches Betriebssystem können Embedded Linux-Systeme verwendet werden, wie z.B. Mobilinux.

3.2.3 Motorola E680i mit Linux

Eines der Mobiltelefone der neuesten Generation mit Mobilinux ist das Motorola E680i. Dieses GSM Telefon bietet einen sehr breiten Funktionsumfang[32]:

- GPRS
- 240 × 320 Pixel großes Farbdisplay Wechsel zwischen Hoch- und Querformat
- Aufnahme und Wiedergabe von MPEG4 Videos
- Integrierter RealPlayer
- UKW-Radio
- Bluetooth
- Unterstützt Java/J2ME
- USB-Schnittstelle
- Zwei Gigabyte interner Speicher
- SD-Speicherkarten Erweiterung möglich
- VGA Kamera mit 8X Zoom
- Unterstützung von 3D Graphik

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 8 Motorola 680i mit Mobilinux[33]

4 Symbian OS im Detail

Symbian OS des Herstellers Symbian ist ein speziell auf Mobiltelefone zugeschnittenes Betriebssystem. Die Firma Symbian existiert seit 1998[34] und ist eine Allianz verschiedener Mobiltelefon-Hersteller und der Firma Psion.

In diesem Kapitel wird auf die Ursprünge und die technischen Details des Betriebssystems eingegangen.

4.1 Geschichte von Symbian OS

Die Wurzeln von Symbian OS liegen bei der Firma Psion. Psion wurde 1981 von David Potter[35] gegründet, die Firma entwickelte Programme für den Sinclair Rechner. Im Jahre 1984 brachte die Firma den weltweit ersten Handheld Computer heraus, den Psion Organizer 1. Dieses Gerät hatte einen Hitachi Prozessor mit 0,92 MHz, 2 kB Arbeitsspeicher und ein monochrom Display mit 16 Zeichen.[36]

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 9 Der Psion Organizer 1[37]

Psion brachte noch einige Handhelds heraus und war 1991 führend vor der Konkurrenz von Apple, Sharp und HP. Die Bedienung der Geräte erfolgte über eine integrierte Tastatur. 1997 entwickelte Psion das Betriebssystem EPOC, hier wurde die Eingabe mittels eines Stiftes unterstützt. EPOC wurde 1998 in das Unternehmen Symbian gewandelt und eigenständig. Symbian wurde von Anfang an als Betriebssystem für Smartphones entwickelt. An der Firma beteiligten sich außer Psion Nokia, Ericsson und Motorola[38]. Im Jahre 1999 beteiligte sich auch Panasonic an dieser Allianz. Für Hersteller gibt es die Möglichkeit, sich an Symbian zu beteiligen oder das Betriebssystem unter Lizenz zu verwenden.

Motorola entschied sich 2003 aus dem Symbian Zusammenschluss auszutreten. Motorola nimmt seitdem Lizenzen von Symbian in Anspruch. Der Grund für den Ausstieg war die Orientierung hin zu anderen Betriebssystemen, wie Linux und Windows Mobile.[39] Psion selbst verkaufte im Jahre 2004 seine Anteile an Symbian. Wie man auf der Abbildung sehen kann, ist mittlerweile Nokia mit 47,9 der stärkste Anteilseigner an Symbian.

Abbildung in dieser Leseprobe nicht enthalten

Abbildung 10 Anteilseigner an Symbian OS[40]

Nokia ist derzeit der Anbieter mit den meisten Mobiltelefonen mit Symbian OS auf dem Markt.

[...]


[1] Heise.de, Nokia verdiente trotz Handy-Rekordverkaufs 2004 weniger

[2] Nokia Deutschland, Modellübersicht Nokia 5110

[3] Java.sun.com, Java 2 Platform, Micro Edition (J2ME); JSR 68 Overview

[4] Jamba, Handy Spiele

[5] Reqwireless.com, Download Webviewer

[6] Objectweb.org, Mail4ME

[7] Sparkasse KölnBonn, Handy Banking

[8] Nokia Deutschland, Modellübersicht Nokia 7650

[9] Motorola GmbH, Hintergrund: Handy-Betriebssysteme

[10] Smartsam.de, Vorsprung ausgebaut

[11] Montavista, Motorola Phones run MontaVista Linux

[12] http://de.wikipedia.org/wiki/ITRON

[13] Schneider, U. und Werner, D., Taschenbuch der Informatik, 2001

[14] Claus V. und Schwill A., Duden Informatik, 2001

[15] Lipinski, K. 2004. Handlexikon der Informationstechnologie, Seite 653

[16] http://www.chip.de/artikel/c1_artikelunterseite_12858868.html?tid1=&tid2= (28.2.2005)

[17] Hansmann U. Pervasive Computing Handbook, Seite 129

[18] Vgl. http://de.wikipedia.org/wiki/Pocket_PC (30.5.2005)

[19] Hansmann U. Pervasive Computing Handbook, Seite 138

[20] http://msdn.microsoft.com/library/en-us/wceintro5/html/ wce50oriAboutPlatformBuilder.asp?frame=true (15.7.2005)

[21] http://msdn.microsoft.com/library/en-us/wceintro5/html/ wce50conIntroducingWindowsCE.asp?frame=true (15.7.2005)

[22] http://de.mobile.yahoo.com/special/wm/index.html (15.7.2005)

[23] Xonio.com, Windows im Handyformat

[24] http://palmshop.ru/img/pda/tmobile_sda.gif.big.gif (15.7.2005)

[25] Vgl. http://de.wikipedia.org/wiki/Geschichte_von_Linux (5.8.2005)

[26] Montavista, MontaVista Software Delivers Freedom and Flexibility To Mobile Phone Industry

[27] http://www.linuxdevices.com/news/NS8395255492.html (15.7.2005)

[28] Vgl. Trolltech, Qtopia Phone Whitepaper, Seite 13

[29] Vgl. Trolltech, Qtopia Phone Whitepaper, Seite 5

[30] http://www.trolltech.com/screenshots/qtopia.html (24.7.2005)

[31] Vgl. Trolltech, Qtopia Phone Whitepaper, Seite 17

[32] Heise.de, Motorola stellt Linux-basiertes Multimedia-Handy E680i vor

[33] http://www.heise.de/mobil/newsticker/meldung/57945 (15.7.2005)

[34] http://www.symbian.com/about/about.html (30.5.2005)

[35] Vgl. http://de.wikipedia.org/wiki/Psion

[36] Vgl. Gerlich A. , 2004, Symbian OS Seite 4

[37] http://www.mobile2day.de/platform_psion/historie/die_geraete.html? pe_id=208 (30.5.2005)

[38] http://www.symbian.com/about/history.html (30.5.2005)

[39] Vgl. Motorola GmbH, Hintergrund: Handy-Betriebssysteme

[40] http://www.symbian.com/about/ownership.html (Download 3.6.2005)

Ende der Leseprobe aus 88 Seiten

Details

Titel
Betriebssysteme und Programmierung von mobilen Endgeräten
Hochschule
Technische Hochschule Köln, ehem. Fachhochschule Köln
Note
1,3
Autor
Jahr
2005
Seiten
88
Katalognummer
V50664
ISBN (eBook)
9783638468466
Dateigröße
1159 KB
Sprache
Deutsch
Schlagworte
Betriebssysteme, Programmierung, Endgeräten
Arbeit zitieren
Bachelor of Science in Media Informatics Sebastian Esser (Autor:in), 2005, Betriebssysteme und Programmierung von mobilen Endgeräten, München, GRIN Verlag, https://www.grin.com/document/50664

Kommentare

  • Noch keine Kommentare.
Blick ins Buch
Titel: Betriebssysteme und Programmierung von mobilen Endgeräten



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden