Betriebssysteme und Programmierung mobiler Endgeräte
- Art: Bachelorarbeit
- Autor: Sebastian Eßer
- Abgabedatum: August 2005
- Umfang: 90 Seiten
- Dateigröße: 2,1 MB
- Note: 1,3
- Institution / Hochschule: Fachhochschule Köln, Abt. Gummersbach Deutschland
- ISBN (eBook): 978-3-8324-9169-7
-
ISBN (Paperback) :
978-3-8324-9169-7 P - ISBN (CD) :978-3-8324-9169-7 CD
- Sprache: Deutsch
- Prämierung:
- Arbeit zitieren: Eßer, Sebastian August 2005: Betriebssysteme und Programmierung mobiler Endgeräte, Hamburg: Diplomica Verlag
- Schlagworte: Symbian, Java, Linux, Windows Mobile, MIDP
In den Warenkorb
38,00 €
Bachelorarbeit von Sebastian Eßer
Einleitung:
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.
Seit 2002 werden immer mehr Telefone mit einer kleinen Fotokamera ausgestattet. Eines der ersten Geräte dieser Gattung war das Nokia 7650. 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. Eines der derzeit auf dem Markt am meisten verbreiteten 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 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.
Gang der Untersuchung:
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.
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 A | 76 | |
| Ehrenwörtliche Erklärung | 88 |
Für den professionellen Einsatz steht dem Entwickler das Python for Series 60 SDK zur Verfügung. Dieser Zusatz für das Serie 60 SDK macht es möglich, Python-Programme auf einem PC laufen zu lassen und zu testen. Bei Python-Programmen, die auf einem PC geschrieben worden sind, besteht die Möglichkeit, diese auch auf dem Mobiltelefon laufen zu lassen. Probleme können allerdings auftreten, wenn benötigte Module nicht auf dem Telefon vorhanden sind. Mit Python ist ein Zugriff auf Bluetooth, GPRS, SMS Funktionen und selbst das Dateisystem möglich. Um Python-Skripte möglichst einfach installieren zu können, existiert das Programm Py2sis. Mit diesem Programm ist es möglich, aus Python-Skripten eine „.sis“ Installations-Datei zu erstellen. [...]
Durch die strikte Trennung der einzelnen Prozesse in getrennte Speicherbereiche ist sichergestellt, dass die Prozesse ihre Daten nicht gegenseitig ändern können. Der Nachteil dieser Methode ist der hohe Verlust an Systemleistung, wenn es zu einer Kontextübergabe zweier Prozesse kommt. Mit Hilfe der Kontextübergabe wird die Ausführungskontrolle zwischen Prozessen oder Threads weitergereicht. Threads sind der Steuerfluss57 für einen Prozess und gehören zu genau einem Prozess. Ein Prozess kann allerdings mehr als einen Thread ausführen. Threads, die zu dem selben Prozess gehören, können auf die gleichen Daten zugreifen. Die zu einem Prozess gehörenden Threads, liegen im gleichen Speicherbereich, wie die Abbildung verdeutlicht. Eine Kontextübergabe von Threads, die im gleichen Prozess laufen ist daher mit weniger Aufwand verbunden. Durch den gemeinsamen Speicher ergibt sich allerdings auch ein Sicherheitsproblem, da die Daten nicht voneinander abgeschirmt sind. Eine Änderung in der Speicher-Mapping-Tabelle durch die MMU ist nicht erforderlich. [...]
Wie bei einem Windows PC gibt es bei Symbian OS ausführbare Exe-Dateien und Dynamic-Link-Libray-Dateien, kurz DLL. ExeDateien werden in einem eigenen Prozess gestartet und enthalten die eigentlichen Anwendungsdaten. Für jede aufgerufene Anwendung wird ein separater Prozess angestoßen mit eigenem Speicherbereich. DLL-Dateien sind keine eigenen Programme, sondern enthalten Bibliotheken, auf die ein anderes Programm zugreifen kann. DLL-Dateien werden nur einmal in den Speicher geladen, sie können von mehreren Programmen verwendet werden. Bei DLL-Dateien werden zwischen Shared-Library-DLL und polymorphischen DLL-Dateien unterschieden. Shared-Libraray-DLLDateien können von verschiedenen Programmen benutzt werden und haben in der Regel die Endung „.dll“. Benötigt ein Programm eine DLL-Datei, wird diese automatisch in den Speicher geladen und ist dann für das Programm verfügbar. Es ist möglich, dass eine DLL-Datei weitere DLL-Dateien benötigt, diese werden dann rekursiv aufgerufen und geladen. Im Gegensatz zur SharedLibraray werden die polymorphischen DLL-Dateien meist von einem Programm aufgerufen. Diese Dateien stellen Treiber bereit und haben eine Dateiendung wie „.prn“, „.prt“ oder „.app“. [...]
In den Warenkorb
38,00 €
Link zur Arbeit:
http://www.diplom.de/ean/9783832491697
Arbeit zitieren:
Eßer, Sebastian August 2005: Betriebssysteme und Programmierung mobiler Endgeräte, Hamburg: Diplomica Verlag
Schlagworte:
Symbian, Java, Linux, Windows Mobile, MIDP



