Inhaltsverzeichnis 2
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
3
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
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 5
Tabellenverzeichnis
Tabelle 1 Vergleich Hardware-Anforderung CLDC und MIDP 53
Tabelle 2 Ausgewählte Pakete im MIDP 56
Tabelle 3 In MIDP erforderliche Jad-Attribute 59
Listings 6
Listings
Listing 1 Beispiel einer Projektdefinitions-Datei 44
Listing 2 Beispiel einer Jad-Datei. 60
Listing 3 ChalloWeltApp.cpp 76
Listing 4 ChalloWeltAppUi.cpp. 77
Listing 5 ChalloWeltContainer.cpp 79
Listing 6 ChalloWeltDocument.cpp 81
Listing 7 Hallowelt.hrh 82
Listing 8 Hallowelt.loc. 82
Listing 9 HalloWeltApp.h 83
Listing 10 HalloWeltAppUi.h. 84
Listing 11 HalloWeltContainer.h. 85
Listing 12 HalloWeltDocument h 87
Abkürzungsverzeichnis 7
Abkürzungsverzeichnis
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
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
Einleitung 9
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
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
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 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.
9 Motorola GmbH, Hintergrund: Handy-Betriebssysteme
10 Smartsam.de, Vorsprung ausgebaut
11 Montavista, Motorola Phones run MontaVista Linux
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.
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ä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
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
Begriffsdefinitionen und Einführung 13
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 Ressour- cen von Nöten.
Begriffsdefinitionen und Einführung 14
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-unempfindlich sein.
Mobile Systeme haben in der Regel keine dauerhafte Verbindung zum Stromnetz. Die meisten Systeme werden durch einen Akku-mulator 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 In-formatik 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.
15 Lipinski, K. 2004. Handlexikon der Informationstechnologie, Seite 653
Begriffsdefinitionen und Einführung 15
Eines der ersten Smartphones in Europa, war das Nokia 7650. Dieses Telefon besaß eine integrierte Kamera und das Betriebssystem Symbian OS.
16 http://www.chip.de/artikel/c1_artikelunterseite_12858868.html?tid1=&tid2= (28.2.2005)
Betriebssysteme für mobile Geräte 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)
17 Hansmann U. Pervasive Computing Handbook, Seite 129
18 Vgl. http://de.wikipedia.org/wiki/Pocket_PC (30.5.2005)
Betriebssysteme für mobile Geräte 17
• 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, Mo-torola, 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.
19 Hansmann U. Pervasive Computing Handbook, Seite 138
Betriebssysteme für mobile Geräte 18
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
20 http://msdn.microsoft.com/library/en-us/wceintro5/html/ wce50oriAboutPlatformBuilder.asp?frame=true (15.7.2005)
Arbeit zitieren:
Bachelor of Science in Media Informatics Sebastian Esser, 2005, Betriebssysteme und Programmierung von mobilen Endgeräten, München, GRIN Verlag GmbH
Dieser Text kann über folgende URL aufgerufen und zitiert werden:
Einbetten
DOI
Evaluierung von Plattformen und Frameworks für die mobile Anwendungsen...
Informatik - Angewandte Informatik
Masterarbeit, 87 Seiten
Entwicklung einer interaktiven, mobilen E-Learning-Anwendung basierend...
Informatik - Wirtschaftsinformatik
Diplomarbeit, 335 Seiten
Sebastian Esser hat den Text Betriebssysteme und Programmierung von mobilen Endgeräten veröffentlicht
Sebastian Esser hat einen neuen Text hochgeladen
Fernando González-Mesones Sañudo, Ignacio Marinas Monsanve, Fernando Román Ranchal
0 Kommentare