Upload
mette-dotzler
View
107
Download
0
Embed Size (px)
Citation preview
Palm OS 4.1
Schwerpunktseminar Multimedia
Simone Stropp
Sommersemester 2003
Motivation
• Trend: Handheld-Computing
• Verschiedene Betriebssysteme
• Vortrag: – Einblick in Aufbau/Merkmale Palm OS– Speziell: Palm OS 4.1
Inhalt
• Einführung
• Schnittstellen / Kommunikation
• Palm OS Architektur
• Hardware-Überblick
Inhalt
• Palm System-Manager
• Palm OS-Versionen / Palm OS 4.1
• Palm OS-Programmierung
Einführung: PDA
• „Personal Digital Assistent“
• Entwicklung:
elektronischen Terminkalender multifunktionaler Alleskönner
• Unterschied: Betriebsystem
Einführung: Palm
• Palm: Erfinder der PDA‘s
• Eigenes Betriebssystem: Palm OS
• Ziele:– klein– kostengünstig– einfach zu bedienen
• Palm OS auch auf Geräten anderer Hersteller
Einführung: PalmOS Historie• 1996: der erste Palm-Handheld – PalmPilot 1000 mit Palm OS 1.0,
Motorola Dragonball Prozessor
• 1996: PalmPilot 5000 mit Palm OS 1.0.3
• 1997: PalmPilot Personal und Professional mit Palm OS 2.0
• 1998: PalmPilot III mit Palm OS 3.0 (Infrarotschnittstelle)
• 1999: PalmPilot IIIe, IIIx, IIIc, IIIxe mit Palm OS 3.1 Palm V, Vx ebenso mit 3.1
Palm VII, VIIx mit OS 3.2:• kabellose Verbindung zum Internet über integriertes Funkmodem möglich• Unterstützung für japanisch und andere Sprachen• M100, m105 mit Palm OS 3.5
Palm OS Historie
• 2001: M500, m505 mit Palm OS 4: – Unterstützung von Bluetooth– Schutz vor Zugriff durch Passwort
• 2002: PalmOS 5.0:– Neue Hardware-Plattform mit ARM-Prozessor– Höhere Sicherheit: Ent- und Verschlüsselung von
Daten mit RC-4– Unterstützung für Multimedia– Multithreading
Benutzerschnittstellen
• Drucksensitives Display, Zeichensprache, Stift
• Graffiti: Benutzer „lernt“ Palmsprache
(Vor- u.Nachteile)
• Virtuelle Tastatur
Kommunikation: Serielle Schnittstelle
• Serial Manager:verwaltet serielle Schnittstelle
• Connection Manager: Verbindungsaufbau andere Geräte
• Modem Manager: Wahlvorgang (Softmodem)
• Serial Link Protocol: (Sende/Empfangsfunktionen)
• Assembly/Dissambly-Protocol: Datenpufferung
• Desktop Link Protocol:Bereitstellung der Daten
• Empfang: interruptgesteuert, Senden: Polling sparsamer Stromverbrauch
Kommunikation: Infrarot-Schnittstelle
• IrOBEX (Objekt-Austausch-Protokoll)
• Ursprünglich vorgesehen für Geräte-Kommunikation (nicht PC)
• Ab Version 3.3: IrDA-Unterstützung standardmäßig Integriert
• IrComm-Protokoll: Simulation serielle Schnittstelle
Kommunikation: TCP/IP
• In Net Library implementiert:
TCP/IP, UDP, UNIX-Socket
• Zusammengefasst vom Internet Library Interface verschiedene Verfahren zur Nutzung der Internet-Inhalte
• TCP/IP: auch nutzbar für Kommunikation über Schnittstellen mit anderen Geräten/PC
Kommunikation: Conduits
• Desktop-Programme registriert im Hotsync Manager
• Hotsync-Manager startet Conduits• Aufgaben Conduits:
– Kopieren, synchronisieren, Übertragen von Daten
• Outlook-Kommunikation mit Palm über Conduits• Hotsync: Generierung Logeinträge über
Conduits
Palm OS Architektur: Layer• Device Hardware: intergrierte
Komponenten
• 3rd Party Hardware: zusätzlich durch Steckkarten eingebundenen Hardware
• Hardware-Abstraction-Layer: Unabhängikeit von HW-Konfiguration
• Kernel: Herz des Betriebssystems (Multitaskingfähig: Bearbeitung Schrifterkennung parallel zum Programm)
Layer: System Services• Palmspezifische Manager
• Graffiti Manager: Stifteingaben
• Sound Manager: Soundausgabe
• Serial Manager: Schnittstellen
• Resource Manager: Dateisystem
• Event Manager: Systemereignisse
• Memory Manager: Speicher
Layer: Libraries und Application Toolbox
• System Libraries: einfacher Zugriff auf Hardware
• Inhalt System Libraries: Protokolle für Hardwarekomponenten
• 3rd Party Libraries : Java Virtual Machine
• Application Toolbox: grafische Benutzerschnittstellen (API‘s)
• Device Applications: mitgelieferte Palm-Programme
• 3rd Party Applications: von Fremdanbietern entwickelte Programme
Speicher• 32-bit Architektur mit 8, 16 und
32 Bit Datentypen
• 4 GB als Adressraum zur Verfügung – Der erste Palm hat weniger
als 0.025% des Adressraumes verwendet
• Speicherkarte mit RAM und ROM
• Dynamic RAM – Äquivalent zum Arbeitsspeicher im Desktop-PC
• Storage RAM – Äquivalent zur Festplatte
Speicher: Persistenz
• Aufrechterhaltung des Speicherinhaltes durch:
• Standby-Mode mit niedrigem Energieverbrauch
• Super-Kondensator bei Batteriewechsel:– maximal eine Minute, danach kompletter
Datenverlust
Speicher: Speicherkarten
• Ein Speichermodul besteht aus ROM, RAM oder beidem.
• Speichercard: logische Konstruktion, vom OS verwendet.
• Ein Gerät kann mehrere Cards enthalten (zur Zeit aber nur eine)
• Für jede Card: 256 MB Adressraum reserviert
Speicher: Partitionierung
• RAM und ROM unterteilt in Heaps
• Kleiner Teil des RAM‘s außerhalb der Heaps, reserviert für:– Globale Low-Memory-Variablen– Speicher-Header– Andere Dinge
• Header im Speicher: Gültigkeit RAM
Der Memory Manager• Verantwortlich für die Heap-
Verwaltung
• Drei Arten Von Heaps:– Dynamic Heap– Storage Heap– ROM Heap
• Stellt API zur Verfügung um:– Neue Chunks zu allokieren– Chunks zu Löschen– Locking, Resizing– Heaps zu Defragmentieren
MM: Heaps
• Heap: kontinuierlicher Speicherbereich, enthält Chunks
• Anwendungen können spezifizieren: Speicher im Dynamic oder Storage Heap allokieren.
• Heaps: Referenzierung über eindeutige 16-bit Heap ID
MM: Heap-Struktur
• Header enthält die Heap-ID, Größe des Heaps und die Master Pointer Tabelle
• Alle Daten werden in Chunks gespeichert
• In der Master Pointer Tabelle werden alle Master Chunk Pointer abgelegt
• Ein Master Chunk Pointer ist die physikalische Adresse des Chunks
• Der Heap Terminator ist ein Chunk der Länge Null
Heap Header
Master Pointer Table
Heap Terminator
Chunk
Chunk
Chunk
Chunk
Chunk
.
.
.
MM: Chunks
• Zusammenhängende Speicherbereiche, die über Handles oder Zeiger referenziert werden
• Drei Arten von Chunks:– Freie Chunks– Bewegliche Chunks– Fixierte Chunks
MM: Heap-Allokierung
• Ein Handle ist ein Zeiger auf einen Master Chunk Pointer
• Pointer zeigen direkt auf die Daten
• Durch „locken“ des Handles bekommt das Anwendungsprogramm den Pointer
MM: Der Dynamic Heap
• Der gesamte Dynamic RAM wird benutzt, um einen einzigen Dynamic Heap zu erzeugen
• Inhalt:– Globale Daten die BS benötigt– TCP/IP-Stack– Bibliotheksdaten für Kommunikation– Datenstrukturen GUI-Elemente– Puffer für Stifteingabe/Tastendruck– Konstante Anwendungsdaten– Anwendungs-Stack– Dynamisch allokierter Programmspeicher
MM: Der Storage Heap
• ab Version 3.x nur ein großer Heap.• Für persistente Daten wie Aufgaben,
Adresslisten, Memos• Inhalt:
– Zusatzanwendungen– Shared Libraries– System Patches– Benutzerdaten– Präferenzen
Dateisystem
• Kein traditionelles Dateisystem -> Daten und Programme werden als Datensätze einer Datenbank gespeichert
• Editierung der Daten geschieht 'in-place‘
• Zwei Datenbank-Arten: Resource und Record
• Einige Vorteile: – Weniger RAM erforderlich – Datensätze können verteilt im Speicher liegen– Synchronisation:unveränderten Datensätze überspringen
• Datenbankheader: Basisinformationen und Liste aller zur Datenbank gehörenden Datensätze
DS: Record-Datenbanken
• Speicherung von Nutzer-Daten (*.pdb)
• Inhalt eines Datensatzes:– localID– Attribute (Dirty, Deleted, Busy, Private)– Kategorie– uniqueID
DS: Resource-Datenbanken
• Zur Speicherung von Applikationen (*.prc)
und Systemdaten
• Inhalt:– Benutzerschnittstellen– Ressourcen– Anwendungen des Betriebssystems
Der Prozessor
• Geräte mit OS 4.1: DragonBall Super VZ-Prozessor der Motorola Familie
• 32bit interner, 24-bit externer Adressbus
• 33MHz, fest integrierte 16MB RAM
• Weitere Merkmale u.a.:– System-Integrationsmodul– DRAM-Controller– seriellen peripheren Interface-Port– UART
Palm OS-Versionen
• Bis Version 4.0 folgende Änderungen:– Support TCP/IP– IR-Unterstützung– Geräte-ID– MIDI-Unterstützung– Verbesserte Speicherverwaltung– Support von Farbdisplays– Schnurloser Internet-Zugang per Handy– Unterstützung von bis zu 65.000 Farben– Bluetooth
Palm OS 4.1
• Folgende Neuerungen bei Version 4.1– Verbesserte Sicherheitsfunktionen– Verbesserte Erinnerungsfunktionen
(Silent Alarms)– Bequemere Dateneingabe
Palm OS 4.1
• Im Detail:– Automatische Sperrfunktion– Übersichtsbildschirm für Alarmmeldungen– Befehl “Senden“– Anwendung „Notizen“– Wählfunktion in Anwendung „Adressen“– Rechner– Verbesserte Bildschirmtastatur– E-Mail-Unterstützung– Zeitzonenanpassung– Telefontreiber– MultiMail SE-Software– SMS– Drahtlose Internet-Verbindung
Programmieren für den Palm
• OpenSource-Programmierung
• Tools:– Cygwin (für Windows)– PRC-Tools– PilRC
(Ressourcencompiler)– Palm OS SDK– Emulator
Zusammenfassung: Vorteile
• Stromsparend durch 3 Betriebsarten• Schnelle Reaktion auf Tastendruck, da nie ganz
ausgeschaltet• Wenig dynamischer RAM gefordert durch “execute-in-
place”• Gute Texterkennungsrate, da Benutzer mit Graffiti-
Schrift schreibt• Kostengünstig, da einfache Hardware, einfache
Ausstattung• Stabil, wegen einfacher Ausstattung und single-tasking• Leicht, intuitiv zu bedienen
Zusammenfassung: Nachteile
• Benutzer muß die Graffiti-Schrift erlernen
• Kein Multitasking
• Kein virtueller Speicher: im worst case (wenn nicht genügend dynamischer Speicher vorhanden ist) kann ein Programm nicht laufen
Literatur• http://www.palmos.com• http://www.palm.com• http://news.zdnet.de
• Palm OS Memory and Database Management, Kenneth Albanowski http://oasis.palm.com/dev/kb/papers/2029.cfm
• Introduction to Palm OS Memory Usehttp://oasis.palm.com/dev/kb/manuals/1748.cfm
• Palm OS Memory Architecturehttp://oasis.palm.com/dev/kb/papers/1145.cfm
• http://pdaforum.de/palmintro• http://www.palmsource.com
• Palm-OS-Programmierung mit gcc, Dirk Nöldner, dpunkt.verlag