Betriebssysteme und Programmierung von mobilen Endgeräten - Sebastian Esser - E-Book

Betriebssysteme und Programmierung von mobilen Endgeräten E-Book

Sebastian Esser

0,0
36,99 €

oder
-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.

Mehr erfahren.
Beschreibung

Bachelorarbeit aus dem Jahr 2005 im Fachbereich Informatik - Internet, neue Technologien, Note: 1,3, Technische Hochschule Köln, ehem. Fachhochschule Köln, Sprache: Deutsch, Abstract: Das Mobiltelefon ist aus dem heutigen Alltag nicht mehr wegzudenken, alleine der Weltmarktführer Nokia hat 2004 207,7 Millionen 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 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 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 angeboten werden. Außer Spielen gibt es andere Anwendungen wie Webbrowser, Emailclients oder die Kontoführung vom Mobiltelefon aus.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB

Veröffentlichungsjahr: 2006

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Inhaltsverzeichnis
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.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

Page 1

Page 4

Abbildungsverzeichnis 4 Abbildungsverzeichnis Abbildung 1 Nokia 7650 Smartphone.......................................... 15 Abbildung 2 Windows CE Entwicklungsprozess ......................... 18 Abbildung 3 Architektur von Windows CE................................... 19 Abbildung 4 Windows Mobile Screenshot ................................... 20 Abbildung 5 T-Mobile SDA.......................................................... 21 Abbildung 6 Vergleich mobile Betriebssysteme .......................... 22 Abbildung 7 Trolltech Qtopia Screenshot.................................... 23 Abbildung 8 Motorola 680i mit Mobilinux..................................... 24 Abbildung 9 Der Psion Organizer 1............................................. 25 Abbildung 10 Anteilseigner an Symbian OS ............................... 26 Abbildung 11 Drei-Schichten-Struktur der Hardware .................. 28 Abbildung 12 Laufwerke Symbian OS......................................... 29 Abbildung 13 Grenzen zwischen den Software-Komponenten .. 30 Abbildung 14 Vergleich Microkernel und monolythischer Kernel 31 Abbildung 15 System-Komponenten von Symbian OS 9 ............ 33 Abbildung 16 Kontextübergabe mit Hilfe der MMU ..................... 36 Abbildung 17 Speicherverwaltung in RAM und ROM.................. 37 Abbildung 18 Threads innerhalb eines Prozesses ...................... 38 Abbildung 19 Python Auswahlmenü ........................................... 39 Abbildung 20 Python-Konsole..................................................... 40 Abbildung 21 Bluetooth-Konsole................................................. 40 Abbildung 22 Hello World in Phython.......................................... 41 Abbildung 23 Workflow des Buildprozesses ............................... 46 Abbildung 24 Hello World Konsolen-Anwendung........................ 47 Abbildung 25 Übersicht der Java-Versionen ............................... 51 Abbildung 26 Aufbau der Java 2 Micro Edition ........................... 53 Abbildung 27 Teilmengen der Java-Konfigurationen .................. 54 Abbildung 28 Zustände eines MIDlets......................................... 57 Abbildung 29 Screenshot des J2ME Wireless Toolkit ................. 61 Abbildung 30 WTK Mobiltelefon-Emulator .................................. 61 Abbildung 31 Ausgabe HelloMidlet ............................................ 62

Page 7

Abkürzungsverzeichnis 7

Abkürzungsverzeichnis

API

BS CDC CLDC CVM DES GPL GUI IMP IrDA ITRON J2ME JAD JAM JCP JSR JVM KVM LCDUI MIDP MMS MMU OAL OEM OS PCB PDA PIM RAM RMS ROM SDK SMS Soc TRON USB VM WTK

Page 8

Vorwort 8

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

Page 9

Einleitung 9

1 Einleitung

Das Mobiltelefon ist aus dem heutigen Alltag nicht mehr wegzudenken, alleine der Weltmarktführer Nokia hat 2004 207,7 Millionen1Gerä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 51102mit 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 Edition3ist 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 Jamba4angeboten werden. Außer Spielen gibt es andere Anwendungen wie Webbrowser5, Emailclients6oder die Kontoführung vom Mobiltelefon7aus.

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

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

2Nokia Deutschland, Modellübersicht Nokia 5110

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

4Jamba, Handy Spiele

5Reqwireless.com, Download Webviewer

6Objectweb.org, Mail4ME

7Sparkasse KölnBonn, Handy Banking

8Nokia Deutschland, Modellübersicht Nokia 7650

Page 10

Einleitung 10

setzt hohe Ansprüche an die Hard- und Software eines modernen Gerätes.

Wie bei einem Personal Computer gibt es für Mobiltelefone verschiedene Betriebssysteme9. Eines der derzeit auf dem Markt am verbreitesten10Systeme 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. Motorola11setzen 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.

9Motorola GmbH, Hintergrund: Handy-Betriebssysteme

10Smartsam.de, Vorsprung ausgebaut

11Montavista, Motorola Phones run MontaVista Linux

Page 11

Einleitung 11

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.

Page 12

Begriffsdefinitionen und Einführung 12

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äufigsten12eingesetzte 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