www.wikidata.de-de.nina.az
Als Echtzeitsysteme englisch real time systems werden Systeme zur unmittelbaren Steuerung und Abwicklung von Prozessen 1 bezeichnet die dafur an sie gestellte quantitative Echtzeitanforderungen erfullen mussen Diese kommen in diversen Technikgebieten zur Anwendung etwa in der Prozessleittechnik in Motorsteuerungen in der Satellitensystemtechnik in Signal und Weichenstellanlagen in der Robotik und in weiteren Bereichen Oft besteht die Anforderung darin dass ein Ergebnis innerhalb eines vorher fest definierten Zeitintervalls garantiert berechnet ist also vor einer bestimmten Zeitschranke vorliegt Die Grosse des Zeitintervalls spielt dabei keine Rolle Wahrend bei einigen Aufgaben z B in der Motorsteuerung eine Sekunde bereits zu lang sein kann reichen fur andere Probleme Stunden oder sogar Tage Ein Echtzeitsystem muss also nicht nur ein Mess oder Berechnungsergebnis mit dem richtigen Wert sondern dasselbe auch noch rechtzeitig liefern Andernfalls hat das System versagt In der Praxis lasst sich eine beliebig kleine Zeitschranke mangels genugend schneller Hardware oder Limitierungen in der Software nicht immer realisieren Daher spricht man auch von in Echtzeit wenn Programme ohne spurbare Verzogerung arbeiten Diese Definition ist jedoch sehr unsauber Grundsatzlich falsch ist es Echtzeitsystem als Synonym fur besonders schnell anzusehen Im Gegenteil Echtzeitsysteme mussen entsprechende Leerlaufe einplanen um auch in besonders fordernden Situationen ihren Echtzeitanforderungen gerecht zu werden Inhaltsverzeichnis 1 Harte weiche und feste Echtzeit 1 1 Definition 1 2 Beispiele 2 Umsetzung 2 1 Feste periodische Triggerung 2 2 Synchrone Ansatze 2 3 Prozessbasierte Ansatze 3 Beispiele fur Echtzeitsysteme 4 Gestaltungsparadigmen 5 Siehe auch 6 Literatur 6 1 Standardlehrwerke 6 2 Spezialliteratur 7 Weblinks 8 EinzelnachweiseHarte weiche und feste Echtzeit BearbeitenDefinition Bearbeiten Abhangig von den Folgen wird manchmal zwischen harter Echtzeit engl hard real time weicher Echtzeit engl soft real time und fester Echtzeit engl firm real time unterschieden Hierfur gelten jeweils unterschiedliche Echtzeitanforderungen harte Echtzeitanforderungen Eine Uberschreitung der Antwortzeit wird als ein Versagen gewertet Nach einer exakten Zeiterfassung der bereitzustellenden Anwendung sind Berechnungen gemass der Theorie der Echtzeitsysteme notwendig Echtzeitsysteme liefern das korrekte Ergebnis immer innerhalb der vorgegebenen Zeitschranken Auf diese Eigenschaft kann man sich beim Einsatz eines harten Echtzeitsystems verlassen weiche Echtzeitanforderungen Solche Systeme arbeiten typischerweise alle ankommenden Eingaben schnell genug ab Die Antwortzeit erreicht beispielsweise einen akzeptablen Mittelwert oder ein anderes statistisches Kriterium Die Zeitanforderungen sind hier als Richtlinien zu sehen Ein Uberschreiten der Zeitanforderung muss nicht als Versagen gewertet werden Zum einen kann die Zeit haufig uberschritten werden solange sie sich noch in einem Toleranzbereich befindet Zum anderen kann sie selten stark uberschritten werden 2 feste Echtzeitanforderungen Bei festen Echtzeitanforderungen droht kein unmittelbarer Schaden 2 Nach Ablauf der Zeitanforderungen ist das Ergebnis der Berechnung jedoch nutzlos und kann verworfen werden Je nach Problemstellung und Blickwinkel wird auch folgende Definition verwendet weiche Echtzeitanforderungen Das System muss in der angegebenen Zeitspanne reagieren nicht jedoch das vollstandige Ergebnis liefern Tritt keine Reaktion ein gilt der Vorgang als fehlgeschlagen und wird abgebrochen Alternativ konnen weiche Echtzeitsysteme auch zeitweise das Ergebnis zwar korrekt aber zu spat liefern harte Echtzeitanforderungen Das System muss im definierten Zeitfenster das Ergebnis vollstandig prasentieren Innerhalb der weichen Echtzeitsysteme finden sich manchmal weitere Klassifikationen die die Uberschreitungen der Antwortzeiten feiner differenzieren Haufige Kriterien sind Das Ergebnis hat keinen Wert mehr die Berechnung wird abgebrochen und verworfen Der Nutzen des Ergebnisses sinkt ab Ende der Antwortzeit Eine Uberschreitung der Antwortzeit wird hingenommen und das Ergebnis wird angenommen wenn es vorliegt Bereits die Definition von weichen Echtzeitsystemen ist von eher umgangssprachlicher Natur so dass eine feinere Unterteilung erst recht schwierig zu geben ist Die DIN Norm 44300 definiert unter Echtzeitbetrieb dort Realzeitbetrieb genannt den Betrieb eines Rechnersystems bei dem Programme zur Verarbeitung anfallender Daten standig betriebsbereit sind derart dass die Verarbeitungsergebnisse innerhalb einer vorgegebenen Zeitspanne verfugbar sind Diese Begriffsnorm hat sich in der Praxis als alleinig akzeptierte Definition nicht durchsetzen konnen es dominieren die Begriffe aus dem englischen Sprachraum Beispiele Bearbeiten Systeme fur Videokonferenzen mussen Bild und Ton innerhalb von Millisekunden aufnehmen vorverarbeiten versenden und darstellen Wenn dies bei einigen Bildern nicht gelingt ruckelt die Darstellung zwar etwas es kann danach jedoch ohne negative Folgen weitergearbeitet werden Das System muss also nur weiche Echtzeitanforderungen erfullen Ein Programm das langere Videosequenzen aufzeichnen soll muss hingegen harte Echtzeitanforderungen erfullen Wenn es nicht gelingt die Videodaten schnell genug auf den Datentrager zu speichern gehen Bilder verloren und das Video ist fur viele Anwendungen unbrauchbar Die elektronische Motorsteuerung in einem Auto muss harte Echtzeitanforderungen erfullen sonst stottert der Motor oder das Auto bleibt stehen Der Ausfall bzw eine nicht korrekt eingehaltene harte Echtzeit kann einen mechanischen Schaden oder im schlimmsten Fall einen Unfall verursachen Umsetzung BearbeitenEchtzeit beschreibt das zeitliche Ein bzw Ausgangsverhalten eines Systems sagt aber nichts uber dessen Realisierung aus Ein Echtzeitsystem kann ein Rechner mit einer geeigneten Software oder eine reine Hardware Losung sein Fur Anforderungen mit sogenannten weichen Grenzen werden haufig Standard EDV Systeme verwendet Fur Anforderungen mit harten Grenzen werden spezielle Architekturen Hardware und Software verwendet z B Mikrocontroller FPGA oder DSP basierte Losungen Feste periodische Triggerung Bearbeiten Ein Ansatz eine geforderte Reaktionszeit fur spezifische Anwendungen zu erfullen ist der Einsatz einer eigenen Funktionseinheit die nur diese Aufgabe mit einer fixen Frequenz gewonnen aus der Reaktionszeit f 1 Reaktionszeit displaystyle f frac 1 text Reaktionszeit nbsp erfullt Ein Beispiel einer Hardwareumsetzung ist eine Digitalisierung mit einem ADC als Funktionseinheit und einem Taktquarz z B zur Digitalisierung von Klangen fur eine Audio CD mit einer notigen Frequenz von 44 1 kHz entspricht einer Reaktionszeit 22 7 Mikrosekunden Eine solche Losung erfullt zuverlassig das harte Echtzeitkriterium da sie spezifisch zur Erfullung einer einzigen Aufgabe entworfen wurde Eine komplexe Echtzeitaufgabe zerlegt nach diesem Prinzip wie z B eine Regelung mit vielen Eingangsparametern mit grosser Dynamik in den geforderten Reaktionszeiten kann durch die zu losende Asynchronitat und redundante Systemteile teuer und komplex werden Synchrone Ansatze Bearbeiten Ein verallgemeinerter Ansatz fur mehrere Aufgaben ist die Verwendung einer einzigen gleichgetakteten synchronen Losungsplattform umgesetzt typischerweise mit Mikrocontrollern DSPs CPUs oder FPGAs Die fur die Echtzeitbedingung geforderten Reaktionszeiten werden in diesem Losungskonzept dadurch zu erfullen versucht dass alle Aufgaben sequentiell so schnell wie moglich abgearbeitet werden Die Echtzeitbedingung ist sicher erfullt wenn die kleinste geforderte Reaktionszeit unter den Aufgaben doppelt so gross ist wie die Maximale Laufzeit fur einen Gesamtdurchlauf aller Aufgaben Ein Beispiel ware eine Echtzeit Regelung mit einem Mikrocontroller der mehrere Eingabeparameter entgegennimmt eine Reaktion berechnet und diese zuruckgibt Angenommen es soll auf das Uberschreiten einer Temperatur t displaystyle t nbsp mit einer Reaktionszeit 1 s und auf eine Drehzahl d displaystyle d nbsp unter 1 ms mit dem Setzen eines Abschaltsignals O 1 displaystyle O 1 nbsp reagiert werden Eine technisch einfache Losung auf einem Mikroprozessor mit einer 2 MHz Taktfrequenz ware eine einfache Endlos Programmschleife Beispiel in Intel Syntax Pseudoassemblercode Semikolon ist Kommentarzeichen mov a 10000 Grenzwert der Drehzahl mov b 30 Grenzwert der Temperatur mov O 1 Abschaltsignal loop Markierung im Programmfluss keine Instruktion wird vom Assembler fur Sprungadressen verwendet in d PORT1 einlesen der aktuellen drehzahl Werte in t PORT2 einlesen der aktuellen temp Werte drehcheck cmp d a prufe die Drehzahl jg tempcheck wenn Grenzwert nicht erreicht springe zu tempcheck out PORT3 O Grenzwert erreicht setze Abschaltsignal tempcheck cmp t b prufe die Temperatur jg loop wenn Grenzwert nicht erreicht springe zu loop out PORT3 O Grenzwert erreicht setze Abschaltsignal jmp loop unbedingter Sprung zur Marke loop Endlosschleife Unter der Annahme dass jeder Befehl auf diesem Prozessor jede Codezeile einen Taktzyklus an Zeit kostet wird ein Prufdurchlauf t loop displaystyle t text loop nbsp in 6 Taktzyklen durchgefuhrt mit einer Worst case Reaktionszeit von 12 Taktzyklen fur die Temperatur 12 2000000 0 006 ms displaystyle tfrac 12 2000000 0 006 text ms nbsp und 11 fur die Drehzahl 11 2000000 0 005 5 ms displaystyle tfrac 11 2000000 0 0055 text ms nbsp Die harten Echtzeitanforderungen sind mit dieser Regelung erfullt jedoch um Grossenordnungen schneller als es eigentlich notig ware ineffizient Eine Erweiterung der Echtzeitregelung z B um den Test eines Drucks p displaystyle p nbsp ist durch diese Uberdimensionierung des Systems moglich Jedoch die erreichte Reaktionszeit fur jede der Teilaufgaben wachst mit der Gesamtablaufzeit t loop displaystyle t text loop nbsp mit Die Grenze dieses Designs ist also erreicht wenn im Worst case Fall die doppelte Gesamtablaufzeit t loop displaystyle t text loop nbsp die Reaktionszeit fur eine Teilaufgabe uberschreitet Dieses Konzept ist das ubliche Paradigma auf dem Computer bei Multimediaanwendungen wie Video Demos und Spielen Typischerweise wird damit nur das weiche Echtzeitbedingungskriterium erfullt da eine Worst case Abarbeitungszeit Reaktionszeit aufgrund der Komplexitat des Systems nicht bestimmbar oder wie im obigen Beispiel nicht abzahlbar und oder nicht deterministisch ist Bei Multimediaanwendungen aussert sich dieser Nichtdeterminismus z B uber variierende FPS oder Reaktionszeiten bei Eingaben Grunde fur diesen Indeterminismus sind das Vorhandensein mehrerer Programmpfade mit unterschiedlichen Ausfuhrungszeiten das Warten der Ausfuhrung auf Ein oder Ausgaben oder Aufgaben mit variabler Komplexitat z B variierende Szeneriekomplexitat in Computerspielen Prozessbasierte Ansatze Bearbeiten Auf komplexen Echtzeitsystemen wie einer SPS oder einem als Echtzeitsystem agierenden Computer laufen in der Regel verschiedene Prozesse gleichzeitig und mit unterschiedlicher Prioritat ab geregelt durch ein Echtzeitbetriebssystem Die minimale Reaktionszeit wird durch die Zeitdauer fur einen vollstandigen Wechsel von einem Prozess niederer Prioritat zu einem Prozess hoherer Prioritat definiert Dieser Wechsel wird dann eingeleitet wenn ein definiertes Ereignis eintritt z B generiert durch einen externen Trigger in der Computertechnik Interrupt oder interne Timer Die eigentliche Abarbeitung des aufgerufenen Prozesses beginnt erst nach dem ausgefuhrten Prozesswechsel Hiermit wird die Erfullung des harten Echtzeitkriteriums einer hoherpriorisierten Aufgabe erzwungen indem die Ausfuhrung einer niedrigerpriorisierten Aufgabe unterbrochen wird Praemptives Multitasking Prinzipiell ist auch ein PC echtzeitfahig allerdings nicht oder nur sehr bedingt wenn er mit klassischen Multitasking Betriebssystemen betrieben wird da dann viele asynchrone Prozesse nicht deterministisch ablaufen Echtzeitbetriebssysteme sind oftmals ebenfalls multitaskingfahig verfugen jedoch uber einen anderen Scheduler als konventionelle Systeme Es gibt auch Losungen bei denen ein bestehendes Standardbetriebssystem durch Hinzufugen spezieller Software echtzeitfahig gemacht wird Dies hat den Vorteil dass nur die wirklich zeitkritischen Vorgange im Echtzeitsystem ablaufen mussen und fur den Rest die normalen APIs inkl Compiler oder GUIs des zugrundeliegenden Betriebssystems verwendet werden konnen Auch in speicherprogrammierbaren Steuerungen SPS und Prozessleitsystemen PLS werden Echtzeitbetriebssysteme eingesetzt die aber dem Anwender nicht direkt zuganglich sind Bei einer Software die Echtzeitbedingungen erfullen soll muss die maximale Laufzeit bestimmbar sein und darf keinen nicht oder nur bedingt beeinflussbaren Faktoren unterliegen muss also deterministisch sein Dies wird u a durch folgende System oder Softwareeigenschaften beeinflusst Ein Problem ist komplexe I O z B Festplatten mit Cache und automatischem Ruhezustand oder Netzwerk Kommunikation mit nicht deterministischem Zeitverhalten z B IP Die Laufzeit von Betriebssystem und Bibliotheksaufrufen muss mit berucksichtigt werden Der Bedarf an Ressourcen insbesondere der Bedarf an Speicher muss bekannt sein Die Laufzeitumgebung und die Hardware mussen den Ressourcenbedarf decken konnen Bei Rekursion muss die maximale Rekursionstiefe bei Schleifen muss die maximale Anzahl an Iterationen feststehen Speicherverwaltung Es muss daher dafur gesorgt werden dass die Echtzeitmodule von der virtuellen Speicherverwaltung des Betriebssystems unbeeinflusst bleiben und niemals ausgelagert werden typischerweise verwenden Echtzeitsysteme deshalb uberhaupt keine virtuelle Speicherverwaltung Besonders problematisch ist auch zum Beispiel der Einsatz automatischer Speicherbereinigung Garbage Collector dessen Laufzeit sehr pessimistisch abgeschatzt werden muss Das Verhalten bei drohender Zeituberschreitung muss definiert und vorhersehbar sein Beispiele fur Echtzeitsysteme BearbeitenRechner zur Steuerung von technischen Einrichtungen oder Prozessen wie Maschinen verfahrenstechnischen Anlagen oder Verkehrsmitteln sind praktisch immer Echtzeitsysteme Ein Echtzeitsystem reagiert also auf alle Ereignisse rechtzeitig und verarbeitet die Daten schritthaltend mit dem technischen Prozess Es wird nicht vom technischen Prozess abgehangt weder im Normalfall noch in kritischen Situationen Die Temperatur eines Apparates in einer verfahrenstechnischen Anlage andert sich meist nur innerhalb von Minuten Eine Steuerung die innerhalb von mehreren Sekunden auf Abweichungen reagiert kann daher noch als echtzeitfahig gelten Die Reaktionszeit liegt im Sekundenbereich Graphische Anwendungen auf dem Computer wie Spiele oder Demos 3 erfordern bei der Aktualisierung der Bildschirmanzeige Reaktionszeiten von 63 ms 14 16 Bilder pro Sekunde um als flussiger Ablauf wahrgenommen zu werden Computer Programme deren Reaktionszeiten auf Anwender Eingaben mit Eingabegeraten Tastatur Maus etc unter 10 ms liegen werden subjektiv als sofort wahrgenommen siehe Usability Die Airbag Steuerung im Auto muss dauernd und innerhalb kurzester Zeit die Messwerte der Sensoren verarbeiten und entscheiden ob und wie stark der Airbag ausgelost wird die Reaktionszeit liegt im Bereich von 1 ms Ein Antiblockiersystem im Auto hat typischerweise eine Regelfrequenz von 100 Hz d h die Reaktionszeit liegt unter 10 ms In Werkzeugmaschinen andert sich die gegenseitige Lage von Werkstuck und Werkzeug Heutige CNC Steuerungen haben zeitliche Auflosungen der Bewegungsregelung von 125 µs In einem Auto muss das elektronische Motormanagement zu bestimmten Zeitpunkten seine Ergebnisse einzuspritzende Kraftstoffmenge Zundzeitpunkt liefern Spater eintreffende Ergebnisse sind wertlos Die Reaktionszeit hangt direkt von der Drehzahl ab und geht fur typische Motoren bei hohen Drehzahlen bei vielen Zylindern herunter bis auf 1 ms Fur die genaue Ablenkung von Elektronenstrahlen z B beim Elektronenstrahlschweissen mussen Magnetfelder mit Frequenzen von 100 kHz bis 1 MHz geregelt werden Die Reaktionszeit liegt zwischen 1 µs und 10 µs Gestaltungsparadigmen BearbeitenBei der Realisierung gibt es zwei Gestaltungsparadigmen ereignisgesteuert und zeitgesteuert Bei der Ereignissteuerung wird auf ein von aussen kommendes Ereignis meist mittels Interrupt schnellstmoglich reagiert d h eine Verarbeitung gestartet Gegebenenfalls wird eine gerade laufende Verarbeitung dabei unterbrochen Die Ereignissteuerung hat den Vorteil dass sie mit sehr geringem Zeitverlust auf das Ereignis reagiert Weil sie intuitiv ist ist sie auch weit verbreitet Der Hauptnachteil ist dass es nicht verhinderbar ist dass mehrere Ereignisse innerhalb kurzer Zeit auftreten konnen und es damit zu einer Uberlastung des Echtzeitsystems mit Verlust von Ereignissen und oder Uberschreitung von Zeitlimits kommen kann Um dieses Problem zu umgehen muss klar definiert werden welche Ereignisse mit welcher maximalen Haufigkeit auftreten konnen Typischerweise wird mittels Prioritaten bestimmt in welcher Reihenfolge gleichzeitig auftretende Ereignisse abgearbeitet werden sollen In einer harten Echtzeitumgebung muss sichergestellt werden dass auch im ungunstigsten Fall maximale Anzahl und Frequenz aller moglichen Ereignisse selbst der Prozess mit der niedrigsten Prioritat sein Ergebnis immer noch innerhalb der Zeitschranken abliefern kann d h immer noch genugend Rechenzeit zugeteilt bekommt um seine Aufgabe zu erfullen Bei der Zeitsteuerung werden Verarbeitungen aufgrund eines vorher festgelegten Zeitplans gestartet Jedem Prozess wird also eine genau definierte Zeitscheibe im Scheduler zugeteilt z B alle 100 ms genau 10 ms Der Vorteil liegt darin dass Uberlastungen grundsatzlich ausgeschlossen werden konnen sofern der Prozess niemals die zugeteilte Zeit uberschreitet Das Verhalten der Anwendung ist fur alle Zeit vorhersagbar was die Zeitsteuerung fur sicherheitskritische Anwendungen geeignet macht Der Nachteil der Zeitsteuerung ist der hohere Planungsaufwand die Zeitzuteilung muss wahrend der Implementation der Prozesse genau bekannt sein und der damit verbundene notwendige Werkzeugeinsatz Ein weiterer Vorteil ist dass bei der Zeitsteuerung die vorhandenen Ressourcen CPU Zeit Speicher zu 100 Prozent ausgelastet werden konnen wahrend das bei der Ereignissteuerung aufgrund ihrer Asynchronitat nicht moglich ist Bei der Ereignissteuerung muss bei den Ressourcen immer etwas Reserve eingeplant werden damit das System bei grosser Last Zeit aufholen kann Siehe auch BearbeitenSimulationLiteratur BearbeitenStandardlehrwerke Bearbeiten Oliver Bringmann Walter Lange Martin Bogdan Eingebettete Systeme Entwurf Synthese und Edge AI 4 uberarbeitete Auflage De Gruyter Oldenbourg Boston 2022 ISBN 978 3 11 070205 7 Xiaocong Fan Real time embedded systems design principles and engineering practices Elsevier Oxford U K 2015 ISBN 978 0 12 801507 0 englisch Hassan Gomaa Real time software design for embedded systems Cambridge University Press New York 2016 ISBN 978 1 107 04109 7 englisch Hermann Kopetz Real time systems design principles for distributed embedded applications Real time systems series 2 ed Auflage Springer New York NY Heidelberg 2011 ISBN 978 1 4419 8236 0 englisch Jean J Labrosse Hrsg Embedded software Newnes know it all series Elsevier Newnes Amsterdam Boston 2008 ISBN 978 0 7506 8583 2 englisch Peter Scholz Softwareentwicklung eingebetteter Systeme Grundlagen Modellierung Qualitatssicherung Xpert press Springer Berlin Heidelberg Berlin Heidelberg 2005 ISBN 978 3 540 23405 0 doi 10 1007 3 540 27522 3 Gary Stringham Hardware firmware interface design best practices for improving embedded systems development Newnes Burlington MA 2010 ISBN 978 1 85617 605 7 englisch Dieter Zobel Echtzeitsysteme Grundlagen der Planung Lehrbuch 2 erweiterte und uberarbeitete Auflage Springer Vieweg Berlin Heidelberg 2020 ISBN 978 3 662 60421 2 Spezialliteratur Bearbeiten Alan Burns Andy Wellings Analysable real time systems programmed in Ada 4 Auflage Addison Wesley Boston 2016 ISBN 978 1 5302 6550 3 englisch Francis Cottet Joelle Delacroix Zoubir Mammeri Scheduling in real time systems John Wiley amp Sons Chichester West Sussex England Hoboken NJ USA 2002 ISBN 978 0 470 84766 4 K C S Murti Design principles for embedded systems Transactions on computer systems and networks Springer Singapore 2022 ISBN 978 981 16 3292 1 englisch Sascha Rock Echtzeitsimulation von Produktionsanlagen mit realen Steuerungselementen ISW Forschung und Praxis Band 168 Jost Jetter Heimsheim 2007 ISBN 978 3 939890 24 9 M Teresa Higuera Toledano Andrew J Wellings Hrsg Distributed embedded and real time Java systems Springer New York 2012 ISBN 978 1 4419 8157 8 englisch Weblinks BearbeitenComp realtime Frequently Asked Questions FAQ regelmassig in der Newsgroup comp realtime gepostet im HTML Format uber anonymous FTP faqs org dedicated systems com dedicated systems com Linux Realtime FAQEinzelnachweise Bearbeiten Informatik Ein Fachlexikon fur Studium und Praxis Dudenverlag Mannheim 2003 ISBN 3 411 10023 0 S 537 a b Heinz Worn Uwe Brinkschulte Echtzeitsysteme Grundlagen Funktionsweisen Anwendungen Springer Berlin u a 2005 ISBN 3 540 20588 8 S 321 doi 10 1007 b139050 Boris Burger Ondrej Paulovic Milos Hasan Realtime Visualization Methods in the Demoscene In CESCG 2002 Technische Universitat Wien 21 Marz 2002 abgerufen am 21 Marz 2011 englisch Abgerufen von https de wikipedia org w index php title Echtzeitsystem amp oldid 236555618