Echtzeit mit System

Die Systemprogrammierung von Windows Embedded Compact 7

29. März 2011, 11:50 Uhr | Hannes Klein und Rudi Swiontek
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 1

Implementieren von Systemanwendungen

Entwickler unterscheiden zwischen Systemanwendungen und Benutzeranwendungen, da diese Anwendungen für unterschiedliche Verwendungszwecke ausgelegt sind. Im Zusammenhang mit WinEC7-Geräten bezieht sich der Begriff Systemanwendung auf eine Anwendung, die eine Schnittstelle zwischen dem Benutzer und dem System bildet. Im Gegensatz dazu ist eine Benutzeranwendung ein Programm, das eine Schnittstelle zwischen dem Benutzer und den anwendungsspezifischen Daten bereitstellt. Wie Benutzeranwendungen können Systemanwendungen eine Benutzeroberfläche oder Eingabeaufforderung umfassen. Benutzeranwendungen werden üblicherweise vom Bedienpersonal gestartet, während Systemanwendungen automatisch mit dem Betriebssystem starten.

Auch Benutzeranwendungen können so konfiguriert werden, dass sie automatisch während des WinEC7-Initialisierungsprozesses gestartet werden. Dieses Verhalten kann so angepasst werden, dass die Anwendungen entweder vor oder nach dem Laden der Benutzeroberfläche starten. Eine Methode zum Festlegen des Verhaltens ist das Ändern mehrerer Registrierungseinstellungen, die das Startverhalten der Anwendung steuern. Eine andere Methode ist das Erstellen einer Verknüpfung zur Anwendung im Ordner „Autostart“, damit die Anwendung von Anfang an startet.

Die WinEC7-Registrierung enthält mehrere Einträge zum Starten der Betriebssystem-Komponenten und -anwendungen, beispielsweise des Geräte-Managers und des GWES (Graphical Windows Event System). Diese Registrierungseinträge befinden sich unter dem Registrierungsschlüssel HKEY_LOCAL_MACHINE\INIT.

Thread-Scheduling: alles der Reihe nach

passend zum Thema

Threads Prozesse
Bild 2. Prozess und Thread: Eine Anwendung wird als Prozess bezeichnet. Der Prozess wiederum kann aus mehreren Threads bestehen. Meistens gibt es einen »primary thread«, der als erstes aufgerufen wird.

Windows Embedded Compact 7 ist ein Multithread-Betriebssystem. Eine Anwendung »Hello.exe« (Bild 2) wird als Prozess bezeichnet. Ein Prozess ist eine Instanz einer Anwendung. Der Verarbeitungskontext eines Prozesses kann einen virtuellen Adressraum, ausführbaren Code, Handles für Systemobjekte, einen Sicherheitskontext, eine eindeutige Prozess-ID und Umgebungsvariablen umfassen. Außerdem ist möglicherweise ein primärer Ausführungs-Thread vorhanden. Ein Thread ist die Basisausführungseinheit, die vom Scheduler verwaltet wird. In einem Windows-Prozess kann ein Thread weitere Threads erstellen. Es ist keine maximale Thread-Anzahl pro Prozess festgelegt. Die maximale Anzahl hängt von den verfügbaren Speicherressourcen ab, da der von einem Thread belegte Speicher begrenzt ist. Die Anzahl der Prozesse in Windows Embedded Compact 7 ist auf maximal 32 000 beschränkt.

Windows Embedded Compact unterstützt das präemptive Multitasking, um mehrere Threads von verschiedenen Prozessen gleichzeitig auszuführen. WinEC7 bringt die Threads abhängig von ihrer Priorität zur Ausführung. Jedem Thread im System ist eine Priorität zwischen 0 und 255 zugeordnet. 0 ist die höchste Priorität. Der Scheduler verwaltet eine Prioritätsliste und wählt den nächsten auszuführenden Thread entsprechend der Priorität in einem »Round Robin«-Verfahren aus. Threads mit der gleichen Priorität werden willkürlich der Reihe nach ausgeführt. Das Thread-Scheduling wird durch einen Zeitintervall-Algorithmus gesteuert. Jeder Thread kann nur für eine begrenzte Zeitdauer ausgeführt werden. Das maximale Zeitintervall für die Thread-Ausführung wird als Quantum bezeichnet. Nachdem das Quantum abgelaufen ist, unterbricht der Scheduler den Thread und fährt mit dem nächsten Thread in der Liste fort.


  1. Die Systemprogrammierung von Windows Embedded Compact 7
  2. Implementieren von Systemanwendungen
  3. Thread-Synchronisierung: Kampf den Deadlocks
  4. Implementieren der Ausnahmebehandlung

Lesen Sie mehr zum Thema


Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!

Weitere Artikel zu Microsoft

Weitere Artikel zu Microsoft Deutschland GmbH

Weitere Artikel zu Betriebssysteme