Bitte warten
Bitte installieren Sie den Flash Player, wenn kein E-Book erscheint.
Autor: Bachelor of Science in Media Informatics Sebastian Esser
Fach: Informatik - Internet, neue Technologien
Details
Tags: Betriebssysteme, Programmierung, Endgeräten
Jahr: 2005
Seiten: 88
Note: 1,3
Literaturverzeichnis: ~ 8(+41 Internet) Einträge
Sprache: Deutsch
Dateigröße: 769 KB
ISBN (E-Book): 978-3-638-46846-6
Textauszug (computergeneriert)
Abschlussarbeit zur Erlangung des akademischen Grades - Bachelor of Science in Media Informatics (FH) -
Fachhochschule Köln University of Applied Sciences Cologne Campus Gummersbach Fakultät für Informatik und Ingenieurwissenschaften
Betriebssysteme und Programmierung von mobilen Endgeräten
eingereicht von Sebastian Eßer
2005
Inhaltsverzeichnis
Inhaltsverzeichnis ... 2
Abbildungsverzeichnis ... 4
Tabellenverzeichnis ... 5
Listings ... 6
Abkürzungsverzeichnis ... 7
Vorwort ... 8
Danksagung ... 8
1 Einleitung ... 9
1.1 Aufbau der Arbeit ... 11
1.2 Abgrenzung der Arbeit ... 11
2 Begriffsdefinitionen und Einführung ... 12
2.1 Betriebssysteme und ihre Anforderungen ... 12
2.2 Mobile Endgeräte und ihre Anforderungen ... 14
2.3 Begriff: Smartphone ... 14
3 Betriebssysteme für mobile Geräte ... 16
3.1 Windows für mobile Geräte ... 16
3.1.1 Windows CE-Versionen ... 16
3.1.2 Windows CE Platform Builder ... 17
3.1.3 Architektur von Windows CE ... 18
3.1.4 Programmierung von Windows CE ... 19
3.1.5 Windows Mobile ... 20
3.2 Linux für mobile Geräte ... 22
3.2.1 MontaVista Mobilinux ... 22
3.2.2 Trolltech Qtopia ... 23
3.2.3 Motorola E680i mit Linux ... 24
4 Symbian OS im Detail ... 25
4.1 Geschichte von Symbian OS ... 25
4.2 Die verschiedenen Symbian-Versionen ... 27
4.3 Hardware ... 28
4.3.1 Drei-Schichten-Struktur ... 28
4.3.2 Speicher ... 29
4.4 Software-Komponenten ... 30
4.4.1 Kernel ... 30
4.4.2 Anwendungen ... 31
4.4.3 Server ... 31
4.4.4 Engine ... 32
4.5 System-Komponenten ... 33
4.5.1 Kernel und Hardware-Integration ... 33
4.5.2 Base-Services ... 34
4.5.3 OS-Services ... 34
4.5.4 Application-Services ... 34
4.5.5 User Interface Framework ... 35
4.5.6 Java ... 35
4.6 Speicherverwaltung ... 35
4.6.1 Memory Management Unit ... 35
4.6.2 Verwaltung von RAM und ROM ... 36
4.6.3 Laden von Programmen ... 37
4.6.4 Prozesse und Threads ... 38
5 Programmiersprachen mobiler Endgeräte ... 39
5.1 Python für Series 60 ... 39
5.1.1 Installation von Python ... 39
5.1.3 Beispiel Code ... 41
5.2 C ++ für Symbian OS ... 42
5.2.1 Tools zur Erstellung ... 42
5.2.2 Benötigte Dateien ... 44
5.2.3 Der Buildprozess ... 45
5.2.4 Beispiel Anwendung ... 47
6 J2ME im Detail ... 49
6.1 Entwicklung von Java ... 49
6.2 Entwicklung Java 2 Micro Edition ... 51
6.2.1 Das Spottless-Projekt ... 51
6.2.2 J2ME KVM ... 52
6.3 Spezifikationen der Java 2 Micro Edition ... 52
6.3.1 Connected Device Configurtion ... 54
6.3.2 Connected Limited Device Configurtion ... 54
6.3.3 Profile ... 55
6.3.4 MIDlets ... 56
6.3.5 Installation von Programmen ... 58
6.4 Programmierung von MIDlets ... 60
6.4.1 Das Wireless Toolkit ... 60
6.4.2 Beispiel eines MIDlets ... 62
6.4.3 Persistent Datenspeichern ... 64
7 Sicherheit von mobilen Endgeräten ... 67
7.1 Viren und Symbian OS ... 67
8 Zusammenfassung und Ausblick ... 69
9 Quellen ... 72
9.1 Literatur ... 72
9.2 Internet ... 73
Anhang ... 76
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
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.
1 Einleitung
Das Mobiltelefon ist aus dem heutigen Alltag nicht mehr wegzudenken, alleine der Weltmarktführer Nokia hat 2004 207,7 Millionen 1Gerä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 51102 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 Edition3 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 Jamba4 angeboten werden. Außer Spielen gibt es andere Anwendungen wie Webbrowser5 , Emailclients6 oder die Kontoführung vom Mobiltelefon7 aus.
Seit 2002 werden immer mehr Telefone mit einer kleinen Fotokamera ausgestattet. Eines der ersten Geräte dieser Gattung war das Nokia 76508 . 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 verbreitesten10 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. Motorola11 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.
[...]
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
Kommentare
Dieser Text kann über folgende URL aufgerufen und zitiert werden: