II-PRT-HOME

  1. Einführung

  2. Eingebettete Systeme

  3. Beispiel Symbian

  4. Beispiel Linux

  5. Mikrokernel als RT-OS

  6. RTAI

  7. Beispiel mit RTAI

  8. Testfragen


II-PRT REALZEITSYSTEME SS04
VL10-11: Eingebettete Realzeitsysteme

    Achtung : Skript gibt den mündlichen Vortrag nur teilweise wieder !!! 
	Achtung : Skript noch nicht abgeschlossen !!!
                        

AUTHOR: Gerd Döben-Henisch
DATE OF FIRST GENERATION: September-16, 2003
DATE OF LAST CHANGE: June-21, 2004
EMAIL: doeben_at_fb2.fh-frankfurt.de



1. Einführung

In den vorausgehenden Vorlesungen wurden vorwiegend Grundbegriffe von Realzeitsystemen vermittelt sowie einige abstrakte Modelle zur Beschreibung solcher Systeme; ein Schwerpunkt lag auch auf der Planung von Taskmengen unter Berücksichtigung der Resourcen und der Deadlines.

In den verbleibenden beiden Vorlesungen soll nun der Versuch unternommen werden, zu zeigen, wie man von solchen abstrakten Modellen von Realzeitsystemen zu konkreten Systemen kommt. Dabei wird zusätzlich thematisiert werden, dass es sich nicht nur um Realzeitsysteme handelt, sondern um eingebettete Realzeitsysteme ('embedded realtime systems').


START



2. Eingebettete Systeme

Der Begriff des 'eingebetteten' Systems ist kein ganz scharfer Begriff, er ist unscharf, 'fuzzy'. Eingebettete Systeme unterscheiden sich von 'normalen' Systemen in der Regel dadurch, dass eingebettete Systeme solche Systeme meinen, in denen ein Computer als 'Teil' eines grösseren Systems vorkommt. In [YAGHMOUR 2003:5-7] werden eingebettete Systeme klassifiziert nach den Kriterien {Grösse, Zeitanforderungen, Vernetzbarkeit, Grad der Interaktion mit Benutzer}. Entsprechend der Breite dieser Kriterien fallen unter den Begriff 'eingebettete' Systeme eine grosse Bandbreite real existierender Systeme, und zwar nicht nur einzelne Systeme sondern auch ganze Cluster, die zusammen ein komplexes System bilden (z.B. Benutzerschnittstellen, die mit einem Systemmanager verknüpft sind, der sowohl 'nach aussen' mit anderen Netzen kommunizieren kann wie auch 'nach innen' mit Modulen wie Datengewinnung und Kontrolle ('Control')).

Bei der Entwicklung von eingebetteten Systemen muss man auf jeden Fall alle Komponenten im Blick haben: die Hardware, das Betriebssystem sowie die Anwendungssoftware.

Die typische Entwicklungssituation wird durch folgendes Schaubild gekennzeichnet:



DevTarget

Cross-Plattform-Entwicklungsumgebung und Zielsystem



Es gibt eine bestimmte Hardware, auf der eine bestimmte Funktionalität realisiert werden soll. Dies ist das Zielsystem ('target'). Die Entwicklung der Software, die für das Zielsystem bestimmt ist, wird gewöhnlich auf davon getrennten und für die Entwicklung eigens eingerichteten Entwicklungsrechnern ('host') vorgenommen. Der Entwicklungsrechner hat Zugriff auf die Quellen des geplanten Betriebssystems, auf die geplante Anwendungssoftware, verfügt über eine Reihe von Softwarewerkzeugen zum Editieren, Modellieren, Testen und Optimieren, möglicherweise auch zum Emulieren. Meistens verfügt das Entwicklungssystem auch über eine Verbindung zum Zielsystem um implementierte Software auf dem Zielsystem direkt testen und debuggen zu können.

Die Software des Zielsystems muss so beschaffen sein, dass das Zielsystem, wenn es eingeschaltet wird, bootet und durch das Booten sämtliche Software aktiviert, die für sein angezieltes Verhalten notwendig ist.

Im Bereich des Bootens unterscheidet man unterschiedliche Bootstrategien, z.B.:

  1. Von Diskette


  2. Aus einem (Flash-)ROM


  3. Von CD-ROM/DVD


  4. Von Platte


  5. Aus dem Netz (Ethernet...)



START



3. Beispiel Symbian

Eine sehr schöne Einführung in die Entwicklung von eingebetteten Systemen am Beispiel des Ziel-Betriebssystem Symbian auf der Hardware von bestimmten Handy-Modellen ist [GERLICHER/RUPP 2004]. In diesem Buch wird gezeigt wie man unter Windows (alternativ soll auch Linux möglich sein) eingebettete Anwendungen für das Betriebssystem Symbian (Series 60 Vers.6.1 sowie UIQ Vers.7.0) entwickeln kann, so dass die Funktionalität von Smartphones entsteht. Die dazu notwendige SDKs ('Software Development Kits') kann man kostenfrei direkt von Symbian beziehen (siehe: Symbian OS software development kits. Während Symbian mittlerweile Versionen für C++ und Java anbietet, konzentriert sich das Buch von GERLICHER und RUPP an C++, da damit die besonderen Eigenschaften der Hardware --nach den Autoren-- besser ausgenutzt werden können als unter Verwendung der JVM ('Java Virtual Machine').

In dieser Vorlesung werden wir auf Symbian und dessen Programmierung nicht weiter eingehen, da Symbian kein vollständiges Realzeitbetriebssystem ist und ausserdem der Quellkode nicht offen liegt; damit ist Symbian nur als 'black box' nutzbar.


START



4. Beispiel Linux


START



5. Mikrokernel als RT-OS


START



6. RTAI


START



7. Beispiel mit RTAI


START



8. Testfragen




START