Betriebssysteme: Windows CE. Dipl.-Inf. J. Richling Wintersemester 2003/2004



Ähnliche Dokumente
Betriebssysteme: Windows CE

Windows CE. Process Control and Robotics. Fabian Garagnon

4D Server v12 64-bit Version BETA VERSION

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Hardware Virtualisierungs Support für PikeOS

Workshop: Eigenes Image ohne VMware-Programme erstellen

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

Open Source als de-facto Standard bei Swisscom Cloud Services

ORGA 6000 in Terminalserver Umgebung

Perceptive Document Composition

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

B-Speech MiniPad Anleitung zur Schnellinstallation. Anleitung zur Schnellinstallation. Seite 1 von 12

Performance Messungen von FreeRTOS und

Aktuelle Themen der Informatik: Virtualisierung

Military Air Systems

Systemanforderungen Verlage & Akzidenzdruck

White Paper. Embedded Treiberframework. Einführung

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Dämon-Prozesse ( deamon )

Embedded Linux. Embedded Linux. Daniel Buchheim Seminar "Eingebettete drahtlose Systeme"

Operating System Kernels

QUICK INSTALLATION GUIDE

Was ist neu in Sage CRM 6.1

HANDBUCH LSM GRUNDLAGEN LSM

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Um mit der FEC Utility Software zu konfigurieren, Müssen Sie in folgendem Untermenü die Software starten:

estos UCServer Multiline TAPI Driver

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

Hardware- und Softwareanforderungen für die Installation von California.pro

RTEMS- Echtzeitbetriebssystem

Client-Systemanforderungen für Brainloop Secure Dataroom ab Version 8.30

DBUS Interprozess-Kommunikation für Embedded-Plattformen

JetSend für Windows CE-Geräte und Pocket PCs

MetaQuotes Empfehlungen zum Gebrauch von

Systeme 1. Kapitel 10. Virtualisierung

leancom webtime Kurzbeschreibung Zeiterfassung per Intranet

WINDOWS 8 WINDOWS SERVER 2012

SharePoint Demonstration

Installationsanleitung für das Touch Display: S170E1-01 LCD A170E1-T3 ChiMei - egalaxy

Systemanforderungen für MSI-Reifen Release 7

LabView7Express Gerätesteuerung über LAN in einer Client-Serverkonfiguration. 1. Steuerung eines VI über LAN

Perceptive Document Composition

Point of Information. Point of Information

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2

A1 Desktop Security Installationshilfe. Symantec Endpoint Protection 12.1 für Windows/Mac

Embedded- und RT-Betriebssysteme. Dipl.-Inf. J. Richling Wintersemester 2003/2004

Einrichtung von VPN-Verbindungen unter Windows NT

enerpy collaborative webased workflows collaborative webbased groupware INDEX 1. Netzwerk Überblick 2. Windows Server 2008

Systemvoraussetzungen Informationscenter IFC

Embedded Linux, OpenWRT

VMware als virtuelle Plattform

Systemvoraussetzungen für Autodesk Revit Produkte (gemäß Angaben von Autodesk)

Windows Server 2008 (R2): Anwendungsplattform

Technische Alternative elektronische Steuerungsgerätegesellschaft mbh. A-3872 Amaliendorf, Langestr. 124 Tel +43 (0)

Updatehinweise für die Version forma 5.5.5

Filesystem in Userspace. Jens Spiekermann

Systemvoraussetzungen GS-Programme 2012

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Lizenzierung von System Center 2012

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Lizenzierung von Windows Server 2012

SQL Server 2008 Standard und Workgroup Edition

CARD STAR /medic2 und CARD STAR /memo3 Installation des USB-Treibers (Administrator-Tätigkeit) Stand

Intelligente Updateverwaltung Inventarisierung von Softwareprodukten Remoteunterstützung, mobile Endgeräte u.v.m.

SQL Server 2005 Standard Edition SQL Server 2005 Enterprise Edition SQL Server 2005 Workgroup Edition

Virtual Desktop Infrasstructure - VDI

Systemstruktur und Echtzeitverhalten - Analyse und Vergleich von Windows CE 5.00 und von Erik Merkel

Anleitung zur Nutzung des SharePort Plus

Softwaretechnische Anforderungen zu Opale bluepearl Version 1.0 vom

Übung: Verwendung von Java-Threads

Installationsanleitung

Anleitung # 4 Wie mache ich ein Update der QBoxHD Deutsche Version

Formular»Fragenkatalog BIM-Server«

USB in Embedded Systemen. Referat von Peter Voser Embedded Development GmbH

Die Integration zukünftiger In-Car Multimedia Systeme unter Verwendung von Virtualisierung und Multi-Core Plattformen

1 Voraussetzungen für Einsatz des FRITZ! LAN Assistenten

Lexware professional und premium setzen bis einschließlich Version 2012 den Sybase SQL-Datenbankserver

Java Entwicklung für Embedded Devices Best & Worst Practices!

Application Layer Active Network

SMART Newsletter Education Solutions April 2015

zur WinIBW Version 2.3

Verfügbarkeit von Applikationen und Failover Szenarien. Winfried Wojtenek.

Anleitung zur Nutzung des SharePort Utility

OSL Storage Cluster und RSIO unter Linux Storage-Attachment und Hochverfügbarkeit in 5 Minuten

SJ OFFICE - Update 3.0

LPT1 Anschluss mit PCMCIA Karte

Wo finde ich die Software? - Jedem ProLiant Server liegt eine Management CD bei. - Über die Internetseite

OP-LOG

Agenda. Einleitung Produkte vom VMware VMware Player VMware Server VMware ESX VMware Infrastrukture. Virtuelle Netzwerke

Einführung in die technische Informatik

MAXDATA b.drive. Externe Festplatte mit integrierter Backup Software

MSI TECHNOLOGY. RaidXpert AMD. Anleitung zur Installation und Konfiguration MSI

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

Untersuchungen zur Zulassung von Software unterschiedlicher Sicherheitsklassen auf einem Prozessormodule unter dem neuartigen Betriebssystem PikeOS

ANYWHERE Zugriff von externen Arbeitsplätzen

Preise und Leistungen Dynamic Computing Services

Stefan Dahler. 1. Remote ISDN Einwahl. 1.1 Einleitung

Verwaltung der MSATA-SSD bei HP Envy Ultrabook 4 und Ultrabook 6 mit Intel Smart Response Technologie

Transkript:

Betriebssysteme: Windows CE Dipl.-Inf. J. Richling Wintersemester 2003/2004

Überblick Fünfeinhalb Vorlesungen: Embedded- und RT-Betriebssysteme (19.1.04) Beispiel: Windows CE (heute) Beispiel: Windows XP embedded (Selbststudium mit Material auf CD) Beispiel: RT-Linux (26.1.04) Beispiel: PalmOS (29.1.04) Beispiel: OSEK und PURE (2.2.04) 18-1 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE Ziele Geschichte Überblick Architektur Echtzeitfähigkeit Bilder/Texte zum Teil von Andreas Polze sowie Vorträgen des Microsoft Embedded Systems Crash Course übernommen (http://research.microsoft.com/collaboration/university/europe/events/dotnetcc/version3/slides.aspx) 18-2 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Ziele Microsofts Weg in andere Märkte: PDAs Eingebettete Systeme Gewisse Kompatibilität zu MS Desktop-Produkten Integration in existierende IT-Welten (MS-IT-Welten) Konkurrenz zu Palm und PalmOS 18-3 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Geschichte I Anfang der 90er: Betriebssystem für tragbare Rechner unterhalb eines Notebooks Verschiedene Entwicklungen (webpad-ähnliches Gerät mit Schrifterkennung) Kam in dieser Form nie über Prototypstadien hinaus Am Rande dieser Entwicklungen: Team entwickelt OS-Kern from scratch Neuer Kern setzt sich durch Durchbruch auf höheren Schichten: Adaption der Win32-API 18-4 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Geschichte II 1996: Windows CE 1.0 Wenige Applikationen Probleme (kein Drucken, kein dial-up) Anfang 1998: Windows CE 2.0 Viele CPUs (x86, 82x PPC, SH3, SH4, StrongArm, MIPS) Internationalisierung 24-Bit-Farbe OS-integrierte Internet-Anbindung Weiterentwickelte Applikationen ActiveSync zur Synchronisation mit Desktop Modularer Aufbau (OEM konfiguriert OS) Auto-PC als Konzept Hardware: Handhelds mit Tastatur 18-5 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Geschichte III 1999: Windows CE 2.11 Aufteilung in Palm-size (kleiner als bisherige Handhelds) und Handheld (größer als bisher) Weiterentwicklung der Anwendungen Problem: Windows-angelehnte Oberfläche ist nicht unbeding palm-size-tauglich Problem: Trotz hoher Rechenleistung (SH3, MIPS mit 80+ MHz) deutlich langsamer als PalmOS-Rechner, hoher Energieverbrauch 2000: Windows PocketPC (auf Basis von Windows CE 3.0) Vereinfachtes Nutzerinterface (weg vom Desktop-Windows, angepaßt an Stiftbedienung) Optimierte Performance Neue und verbesserte Anwendungen Multimedia 18-6 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Geschichte IV 2002: Windows CE.NET (Codename Talisker ) Verbesserte Netzwerkkonnektivität Adhoc Networking Erweiterte vordefinierte Konfigurationen 4 Architekturen (ARM, Mips, SH, x86) Verbesserungen am Userinterface und den Applikationen Verbessertes Speichermanagement Shared Source Eingefügt in.net-konzept 18-7 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Überblick I Modulares Betriebssystem Adaptierbar für Produkt (Platform-Builder) OS-Kern braucht weniger als 200 KB ROM Bietet Interrupt-Behandlung und Interrupt-Priorisierung Läuft auf einer Reihe von Plattformen: AMD X5, MIPS R4101, ARM 720T, Motorola MPC823, ARM SA-1100, NEC VR4111, Hitachi SH3 und SH4, NEC VR4300, PPC 403GC, PPC 821, MIPS 4102, QED 5230, MIPS R3910 und R3912, x86 Unterstützt Windows- Standards Mehr als 1000 Funktionen der Win32-API Entwicklungstools und Entwicklungsmodelle 18-8 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Überblick II Verschiedene User-Interfaces, u.a.: Touch-Screen Tastatur Farb-Bildschirme mit bis zu 32 Bit Farbtiefe Kommunikation Serielle Kommunikation und IrDA TCP/IP Mobile Channels für Webangebote für CE-Nutzer Component Object Model verschiedene Methoden der Interprozeß-Kommunikation (z.b. IR-Sockets) 18-9 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Architektur I Windows CE hat vier grundlegende Module/Modulgruppen: Kernel mit grundlegenden Diensten Prozeß- und Threadbehandlung Speicher-Management File-System für permanente Speicherung von Informationen Graphics, Windowing, Event Subsystem (GWE) Steuert Grafik und fensterbezogene Features Kommunikations-Interface für Informationsaustausch mit anderen Geräten Zusätzliche Module Verwaltung von installierbaren Gerätetreibern Unterstützung von COM/OLE 18-10 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE-based applications Windows CE: Architektur II Shells Internet Explorer Remote connectivity Microsoft programming interfaces Win32, COM, MFC, ATL,... Communication interfaces (winsock, RAS, TAPI, network) Kernel OAL GWE Native and stream interface drivers Object Store (file systems) Other drivers IrDA TCP/IP Unimodem NDIS IR Ethernet miniport miniport PPP/ SLIP Serial 18-11 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Kernel Kern des OS, File: Nk.exe Windows CE Kern implementiert: Scheduling, Thread Synchronisation Behandlung von Interrupts und Ausnahmen Virtuelles Speichermanagement Execution in place (XIP) aus dem ROM Bei Bedarf Paging in den Programmspeicher Portabel 32 Bit CPUs, Little Endian Unterstützung von TLB (Translation Lookaside Buffer) für Adress-Übersetzung virtuell nach physikalisch 18-12 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Scheduling Win32 Prozeß- und Threadmodell Round-Robin mit Prioritäten 32 Prozesse, beliebig viele Threads 8 Prioritäten (256 in CE 3.0) Round-Robin pro Prioritätsebene 25 ms Quantum, einstellbar Thread-Prioritäten sind fest, kein Aging Priority Inheritance für kritische Sektionen Synchronisation Wartefunktionen (WaitForSingleObject(),..) Mutex-Objekte Event-Objekte Semaphore in zukünftigen Versionen Vermeidung von Prioritätsinvertierungen Implementation des Priority-Inheritance-Protokolls 18-13 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Virtueller Speicher I Bis CE 3.0: 32 MB virtueller Speicher pro Prozeß Zielgeräte: 4..64 MB RAM, weniger als 16 MB ROM 2 GB Adressraum unterteilt in Slots zu 32 MB Ein Slot pro Prozeß Slot ist eingeteilt in 512 Blöcke von 64 KB Blöcke sind in Seiten von 1 oder 4 KB geteilt (architekturabhängig) Zuweisung der Slots Slot 0: Aktiver Prozeß Slot 1: Kernel Slot 2: GWE (Graphics, Window Manager, Event Manager) Slot 3: Filesystem Slot 4: Shell Neue Prozesse bekommen niedrigsten verfügbaren Slot 18-14 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Virtueller Speicher II 32 slots + active slot (0) Slot 32 32 Slot 4 scalar pointer array string (Shell) 4 scalar pointer array string Slot 3 GWE 3 GWE Slot 2 Filesys 32 MB per slot 2 Filesys Slot 1 Kernel 1 Kernel Slot 0 scalar pointer array string Slot 0 GWE Kernel manipuliert Zeiger beim Kontextwechsel Beispiel: GWE kann auf Daten der Shell an der wirklichen Lokation ohne Kopieren zugreifen 18-15 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Virtueller Speicher III Bitmasken ( Keys ) regeln Zugriffsrechte Implementieren Speicherschutz Slot 32 Slot 4 Slot 3 Slot 2 Slot 1 stack Shell File System GWE Kernel 1000 0100 0010 0001 Slot 0 stack Shell 1000 18-16 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Probleme mit der Speicherverwaltung Vorgestelltes Modell gilt bis CE 3.0 Probleme: 32 MB ist für manche Anwendungen zu wenig 32 MB müssen für Code, Daten und DLLs geteilt werden DLL-Allokation Speicherallokation an 64 KB Grenzen (ungeschickter Umgang erschöpft 32 MB schnell) 18-17 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Probleme mit 64-KB-Grenzen INT i; PVOID pbase, pmem[512]; pbase = VirtualAlloc (0, 512*PAGESIZE, MEM_RESERVE, PAGE_READWRITE); for (i = 0; i < 512; i++) { pmem[i] = VirtualAlloc (pbase[pagesize * i], 1024, MEM_COMMIT, PAGE_READWRITE); } Lösungen: Allokation großer Speicherbereiche mit späterem Commit Benutzung von Memory Mapped Objects 18-18 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Speicherlayout einer Applikation 18-19 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Positionierung von DLLs I XIP (execution in place) führt dazu, daß sich DLL-Ladebereiche verschiedener Anwendungen beeinflußen Lücken sind nicht nutzbar Offene Applikationen erschweren Vorhersagbarkeit DLLs werden auf 64 KB Grenzen geladen CE 3.0 bietet mehrere XIP-Regionen Bis zu 16 MB Platzbedarf Resultat: von 32 MB bleibt unter Umständen weit weniger als die Hälfte 18-20 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Positionierung von DLLs II 18-21 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Benutzung mehrerer XIP-Bereiche 18-22 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Workarounds für CE 3.0 Eingebettete Systeme: Wenige XIP-Bereiche benutzen So dicht wie möglich packen PocketPC 2002: So wenig DLLs wie möglich benutzen Speichernutzung optimieren Speicher außerhalb der 32 MB Box allozieren Speicher per Hand positionieren 18-23 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE.NET: Lösungen I Änderung des systemweiten Speicherlayouts Verschiebung des Kerns (NK.EXE) aus Slot 1 in den Kernelspace (0xC200 0000) Slot 1 wird für DLLs benutzt Ergibt zusammen mit Slot 0 (aktive Applikation) 64 MB pro Applikation Applikation hat 32 MB für Code, Daten und RAM-basierte DLLs Keine Möglichkeit, Speicher in oberen 32 MB zu allokieren 18-24 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

CE.NET: Systemweites Speicherlayout 18-25 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

CE.NET: Speicherlayout einer Applikation 18-26 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Dauerhafter Speicher (Filesystem) Filesystem bietet dauerhafte Speicherung von Informationen FAT-Filesysteme mit bis zu 9 FAT-Volumes Transaktionsbasiertes Filehandling Demand Paging (je nach Hardware) Mirroring zum Schutz vor Datenverlusten bei Ausfall der Energieversorgung oder Kaltstarts Installierbare Gerätetreiber für Blockdevices 18-27 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Kommikationsinterface Unterstützung für serielle Kommunikation, inklusive Infrarot Unterstützung für Internet Client Applikationen Common Internet Filesystem (CIFS) Redirektor für Zugriff auf entfernte Filesysteme über das Internet Teilmenge von Windows Sockets (Winsock) Version 1.1 Unterstützung für Secure Sockets TCP/IP Transportschicht konfigurierbar für drahtlose Netze IrDA für robuste Infrarot-Kommunikation PPP und SLIP für seriellen Netzzugriff Netzwerkzugriff über network driver interface specification (NDIS) Management von Telefon-Verbindungen über TAPI Remote Access-Service über Modem 18-28 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Graphics, Windowing, Event Subsystem (GWE) Unterstützung für viele Window-Styles Große Anzahl von konfigurierbaren Controls Eingabe über Tastatur oder Stift Command bar als Vereinigung der Funktionalität einer Toolbar und einer Menu bar Out of Memory -Dialogbox für Userinteraktion Volle UNICODE-Unterstützung 18-29 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Graphics Device Interface (GDI) Multiplattform GDI mit folgenden Features Farbe und Graustufen, bis zu 32 Bit pro Pixel Palettenmanagement True Type Fonts und Rasterfonts Kontexte für Drucker, Speicher und Displays Shape Drawing und Bit Block Transfer 18-30 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Gerätetreiber Gerätetreiber in Usermode Prozessen Nur ein kleiner Teil des Gerätetreibers läuft im Kernelmode Führt zu kurzen Interrupt Service Routinen Keine verschachtelten Interrupts Interrupts werden in Service Routinen maskiert 18-31 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE: Echtzeitfähigkeit Anforderungen: Multithreaded und preemptiv Unterstützung von Threadprioritätaten Vermeidung von Prioritäteninvertierungen Vorhersagbare Threadsynchronisation Vorhersagbares zeitliches Verhalten des OS: Maximale Zeit der Sperrung von Interrupts Maximale Zeit, die die Behandlung eines Interrupts dauert Maximale Interrupt Latency Maximale Ausführungszeit von Systemrufen müssen bekannt sein 18-32 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE & RT: Prioritäten 8 Prioritätsstufen (256 in CE 3.0) Level 0 und 1: Real Time und Gerätetreiber Level 2 bis 4: Kernelthreads und normale Applikationen Level 5 bis 7: Anwendungen, die jederzeit unterbrochen werden können Priority level 0 (highest) 1 2 3 4 5 6 7 (lowest) Constant and Description THREAD_PRIORITY_TIME_CRITICAL (highest priority) THREAD_PRIORITY_HIGHEST THREAD_PRIORITY_ABOVE_NORMAL THREAD_PRIORITY_NORMAL THREAD_PRIORITY_BELOW_NORMAL THREAD_PRIORITY_LOWEST THREAD_PRIORITY_ABOVE_IDLE THREAD_PRIORITY_IDLE (lowest priority) 18-33 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE & RT: Scheduling Preemption basiert auf Thread-Priorität Threads mit hoher Priorität laufen zuerst Threads gleicher Priorität: Round Robin Quantum: 25 ms (CE 3.0: einstellbar) Threads niedriger Priorität laufen nicht, bevor alle mit höherer Priorität fertig sind (oder blockieren) Ausnahme: Threads auf Level 0 laufen nichtpreemptiv Thread-Prioräten sind fest Kein Priority-Aging Behandlung von Prioritäten-Invertierung Priority-Inheritance-Protokoll 18-34 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE & RT: Thread-Synchronisation Objekte für Thread-Synchronisation kritische Sektion, Mutex, Ereignisse Wartequeues für Mutex, Events und kritische Sektionen in FIFO-Priority-Order Pro Priorität eine Queue, FIFO innerhalb der Queue Anpassung der Queues mit Hilfe von Priority Inheritance Standard Win32 timer API-Funktionen Zeitintervalle über Software-Interrupts GetTickCount Zugriff auf Systemzeit mit Auflösung von ms Performance-Counter für besser auflösende Zeitinformationen 18-35 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE & RT: Virtueller Speicher Paging I/O läuft auf einem niedrigeren Level als RT-Threads Paging innerhalb der RT-Threads ist möglich Speicherverwaltung im Hintergrund kann RT-Threads nicht beeinflussen RT-Threads sollten gelockt werden (ausgenommen vom Paging) Windows CE erlaubt Memory Mapping Mehrere Prozesse können gleichen physikalischen Speicher benutzen Schnelle Datentransfers zwischen Prozessen Erhöhung der RT-Performance 18-36 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE & RT: Interrupt-Handling CE zerlegt Interrupt-Behandlung in Interrupt Service Routine (ISR) und Interrupt Service Thread (IST) ISR sind Hardware-IRQ-Leitungen zugeordnet Auftreten eines Interrupts führt zum Start der ISR ISR ist minimal und gibt eine Interrupt ID an den Kern zurück Kern wertet ID aus und erzeugt ein entsprechendes Ereignis IST wartet auf dieses Ereignis Auftreten des Ereignisses läßt IST die restliche Interruptbehandlung durchführen IST läuft meist auf Prioritätslevel 0 oder 1 Keine geschachtelten Interrupts 18-37 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE & RT: Messungen Latency CE erlaubt über Instrumentierungen und instrumentierte Kerne Beobachtungen des zeitlichen Verhaltens Beispiel: Messung der Latency für Interrupt-Behandlung Hardware: Odo SH3 Referenzplattform, 58.98 MHz mit 14.745 MHz externem Takt Standard Handheld-Konfiguration Nur OS-Prozesse laufen (Kern, Filesystem, GWE, Treiber, Shell und Explorer) Latency Start of ISR Start of IST Minimum and maximum values (1000 tests) 1.3-7.5 microseconds 93-275 microseconds ISR start < 1.6 Mikrosekunden in 84% der Tests IST start < 102 Mikrosekunden in 92% der Tests 18-38 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE & RT: Messungen bei Hintergrundlast Start of ISR Max 8.4 8.6 9.0 14.8 19.2 17.0 12.8 11.0 10.0 15.0 15.6 Numbers of background threads (with one event per thread) 0 5 (Note: represents only 100 tests) 10 (Note: represents only 100 tests) 10 10 10 20 20 (Note: represents only 100 tests) 50 100 100 Background thread priority 7 7 5 5 5 7 5 7 7 5 7 18-39 Eigenschaften mobiler und eingebetteter Systeme c J.Richling

Windows CE & RT: Zusammenfassung CE Kernel Design erfüllt die Mindestanforderungen an ein RT-OS OEM hat volle Kontrolle über Interruptbehandlung durch Implementation von ISR und IST OEM hat volle Kontrolle über die Hardware-Interrupts (durch Zuweisung an entsprechende Behandlungs-Software ISR und IST) Interrupt Latency ist bedingt vorhersagbar und begrenzt Ausführungszeiten für Systemrufe sind vorhersagbar und unabhängig von der Systemlast Kann unter Benutzung des instrumentierten Kerns untersucht werden Keine analytischen Grenzen bekannt 18-40 Eigenschaften mobiler und eingebetteter Systeme c J.Richling