events

DESIGN&ELEKTRONIK-Entwicklerforum »Embedded-System-Entwicklung«
DESIGN&ELEKTRONIK-Entwicklerforum »Embedded-System-Entwicklung«

Auch in diesem Jahr veranstaltet die DESIGN&ELEKTRONIK wieder das Entwicklerforum »Embedded-System-Entwicklung« am 11. und 12. Juli 2012 in München. Neben einem technisch anspruchsvollen Vortragsprogramm ermöglichen verschiedene Workshops den Teilnehmern einen differenzierten Einblick in die Thematik.

Ausführliche Informationen:
www.embedded-entwicklerforum.de

Produkte des Jahres 2012

Linux /ARM

Linux: Embedded für alle
Linux: Embedded für alle

Linux ist heute erste Wahl geworden, wenn es um die Entscheidung für ein Betriebssystem in einem leistungsfähigen Embedded-System geht. Wie kann es sein, dass eine Open-Source-Software gerade bei Embedded-Systemen so erfolgreich ist?

Konferenz für ARM-Systementwicklung
Konferenz für ARM-Systementwicklung

Die große Konferenz für ARM-Systementwicklung am 11. und 12. Juli 2012 in München bietet Entwicklern die Gelegenheit, sich detailliertes Wissen über die aktuellen Cortex-Architekturen anzueignen, die mittlerweile zum Industriestandard avanciert sind.

Ausführliche Informationen:
www.arm-entwicklerkonferenz.de

embedded world Technology Report

Android & Embedded
embedded world Technology Report

Welche Embedded-Trends zeichnen sich ab? Im »embedded world Technology Report« gibt ein unabhängiger Expertenrat einen exklusiven Einblick in aktuelle Entwicklungen und zukünftige Trends im Embedded-Bereich.

Interessiert? Hier geht es zum kostenlosen Download

embedded world special

embedded world 2012
embedded world 2012

Wir haben aktuell von der weltgrößten Messe für die Embedded-Branche mit News, Videobeiträgen und Produktneuheiten berichtet.

Windows Embedded Standard 7

Windows Embedded Standard 7
Windows Embedded Standard 7

Was ist neu in Windows Embedded Standard 7? Lesen Sie alles rund um das neue Microsoft-Embedded-Betriebssystem Embedded Standard 7 in unserem Spezial.


Windows 7 - Special zum Download

Windows 7 -Special zum Download
Windows 7 -Special zum Download

20 Seiten Fachwissen – Das Windows-Embedded-Special als PDF-Download.


Marktübersichten Embedded

Marktübersichten aus dem Bereich Embedded

Software im sicherheitskritischen Bereich

Entwicklungssoftware
Entwicklungssoftware

Um die »Worst-Case Execution Time« zu erhalten, gibt es verschiedene Herangehensweisen – bequeme und weniger bequeme.


30. September 2009

Echtzeitfähigkeit von Linux-Systemen empirisch bestimmen

Für die Bestimmung der Echtzeitfähigkeit aktueller Computerboards mit modernen Hochleistungsprozessoren ist die klassische Pfadanalyse ungeeignet, doch mit empirischen Testverfahren lässt sich die Größenordnung...

Anzeige

Für die Bestimmung der Echtzeitfähigkeit aktueller Computerboards mit modernen Hochleistungsprozessoren ist die klassische Pfadanalyse ungeeignet, doch mit empirischen Testverfahren lässt sich die Größenordnung der maximalen Systemlatenz bestimmen. Der erforderliche Aufwand richtet sich danach, ob eine neue Hardware entwickelt wurde, ein definiertes System in einem speziellen Anwendungsfall zu testen ist oder Tests im Rahmen der kontinuierlichen Qualitätskontrolle erfolgen sollen.

Von Carsten Emde, Thomas Gleixner und Robert Schwebel

Damals, in den guten alten Tagen des Mikroprozessors, gab es noch keinen nennenswerten Cache und keine Mehrprozessorsysteme, und jedes Peripheriegerät verfügte über einen eigenen Interrupt oder einen eigenen Interruptvektor. Damals war es möglich, die maximale Latenz eines Systems theoretisch zu bestimmen. Für diesen Zweck suchte der Entwickler den längstmöglichen Codepfad, addierte die Anzahl der dafür erforderlichen CPU-Zyklen und multiplizierte das Ergebnis mit der jeweiligen Zyklusdauer des verwendeten Systems. Wer sicher sein wollte, bei dieser Pfadanalyse keinen Weg zu vergessen, führte sicherheitshalber noch Latenzmessungen durch. Jahrelang war die Pfadanalyse ein verlässliches Mittel zur Bestimmung der maximalen Latenz eines Computersystems.

Seit der Einführung von teilweise sehr großen Cache-Speichern, die häufig in komplexer Weise hintereinander geschaltet beziehungsweise von mehreren Prozessorkernen benutzt werden, von konkurrierenden Bus-Mastern bei DMA- und Mehrprozessor-Systemen und von gemeinsam benutzten Interruptleitungen ohne Vektorisierung ist die theoretische Bestimmung der höchstmöglichen Latenz eines Computersystems durch Pfadanalyse jedoch extrem erschwert oder sogar unmöglich geworden. Selbst wenn in einzelnen Fällen die Bestimmung noch machbar erscheint, ist nicht auszuschließen, dass dabei der eine oder andere Verzögerungseffekt übersehen wurde. Für diese Fälle und für solche, in denen die Pfadanalyse von vornherein ausgeschlossen ist, muss es Methoden zur Latenzmessung geben, welche die empirische Bestimmung der maximalen Latenz eines Computersystems gestatten. Neben derartigen Latenzmessungen sind aber auch Messbedingungen zu definieren, die den Prüfling einer definierten Last aussetzen, um damit potenzielle Latenzquellen sichtbar zu machen. Denn ein Computersystem ohne Last wartet gewissermaßen ständig auf ein Ereignis und kann daher in der Regel auch sehr kurzfristig auf ein solches reagieren.

Zunächst einmal ist aber zu definieren, mit welcher Anforderung Latenzmessungen erfolgen: Handelt es sich um die Messung bei einem Hard- oder Softwarehersteller, gilt es also, sämtliche unter irgendwelchen Umständen jemals möglichen Latenzen aufzudecken? Oder führt ein Maschinenbauer die Messung an einer speziellen Anlage durch, geht es also in erster Linie um Latenzen, die unter den individuellen Konfigurationsund Lastbedingungen dieser Anlage auftreten können? Weiterhin ist zu unterscheiden, ob die Messung einmaliger und grundsätzlicher Natur ist (also zum Beispiel vor der Festlegung auf eine bestimmte Hard- und Softwarekonfiguration) oder ob es sich um wiederholte Messungen zur kontinuierlichen Qualitätskontrolle handelt. Im letzteren Fall sind natürlich in erster Linie die im Rahmen der Produktpflege weiterentwickelten beziehungsweise veränderten Komponenten zu überprüfen. Entsprechend ist dieser Artikel eingeteilt in komplette »Über-Alles-Messungen«, also die Fahndung überall im System nach irgendwie möglichen Latenzen, und spezielle Messungen individueller Systeme, also das Bestimmen der höchstmöglichen Latenz, die unter den spezifischen Einsatzbedingungen einer Konfiguration auftreten kann.

Obwohl die Konzepte und Methoden in diesem Artikel für die meisten Betriebssysteme zutreffen, beziehen sich die Beispiele in erster Linie auf »Mainline-Linux«, das mit den so genannten »Realtime-Preempt-Patches« echtzeitfähig gemacht wurde. Nähere Angaben dazu finden sich im Realtime-Wiki (rt.wiki.kernel.org) und auf der Webseite des Open Source Automation Development Lab (OSADL).

zurück
1 | 2 | 3 | 4 weiter ,