Betriebssysteme und Programmierung mobiler Endgeräte
Zusammenfassung
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 […]
Leseprobe
Inhaltsverzeichnis
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 A
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.
[...]
[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)
Details
- Seiten
- Erscheinungsform
- Originalausgabe
- Erscheinungsjahr
- 2005
- ISBN (eBook)
- 9783832491697
- ISBN (Paperback)
- 9783838691695
- DOI
- 10.3239/9783832491697
- Dateigröße
- 1.2 MB
- Sprache
- Deutsch
- Institution / Hochschule
- Technische Hochschule Köln, ehem. Fachhochschule Köln – Fakultät für Informatik und Ingenieurwissenschaften
- Erscheinungsdatum
- 2014 (November)
- Note
- 1,3
- Schlagworte
- symbian java linux windows mobile midp
- Produktsicherheit
- Diplom.de