Anforderungen - Professur Betriebssysteme
Transcription
Anforderungen - Professur Betriebssysteme
Echtzeitsysteme – Anforderungen 2.1 Zeitbedingungen Echtzeitsysteme Sommersemester 2016 2.1 Zeitbedingungen Echtzeitsysteme ▸ Zusätzlich zu den normalen“ (funktionalen) Anforderungen (requirements) gibt es ” in Echtzeitanwendungen zeitliche Anforderungen ▸ Es gibt unterschiedliche zeitliche Anforderungen Am häufigsten wird spezifiziert, bis wann ein bestimmtes Ereignis stattzufinden hat á Deadline ▸ 2. Kapitel ▸ Anforderungen ▸ Prof. Matthias Werner ▸ Professur Betriebssysteme Allgemeiner: Zeit-Wert-Funktion (time value function, TVF) ▸ ▸ Ereignis ist typischerweise das Ende einer Berechnung oder die Ausgabe eines Ergebnisses Deadlines können absolut oder relativ sein Beschreibt den Nutzen, den ein Ereignis zu einem bestimmten (absoluten oder relativen) Zeitpunkt hat Obwohl TVF allgemeiner sind, werden in der Praxis zumeist Deadlines benutzt SoSe 2016 ⋅ M. Werner Echtzeitsysteme – Anforderungen 2.1 Zeitbedingungen osg.informatik.tu-chemnitz.de Echtzeitsysteme – Anforderungen 2.1 Zeitbedingungen Arten von Deadlines ▸ 2 / 27 Weitere Zeitbedingungen Es gibt unterschiedliche Arten von Deadlines Wert ▸ Deadline Beispiel: Handy Fest (firm) Zeit ▸ Neben Deadlines gibt es noch die verschiedensten weiteren Zeitbedingungen ▸ Manchmal sind auch verfrühte Ergebnisse nutzlos: Task wird bei Überschreitung abgebrochen Wert ▸ Wert Nutzintervall Deadline Beispiel: Airbag Hart (hard) Zeit Zeit Task muss Deadline einhalten Wert ▸ ▸ Deadline Meist unproblematisch á Pufferung Beispiel: Videostream Weich (soft) Zeit ▸ Entsprechend unterscheidet man (etwas unexakt) harte und weiche Echtzeitsysteme SoSe 2016 ⋅ M. Werner 3 / 27 osg.informatik.tu-chemnitz.de SoSe 2016 ⋅ M. Werner 4 / 27 osg.informatik.tu-chemnitz.de Echtzeitsysteme – Anforderungen 2.1 Zeitbedingungen Echtzeitsysteme – Anforderungen 2.1 Zeitbedingungen Weitere Zeitbedingungen (Forts.) ▸ Jitter Manchmal dürfen zwar Deadlines verpasst werden, aber nur einige in einer Taskmenge T = {T1 , . . . , Tn } ▸ ▸ Häufig werden Vorgänge periodisch ausgeführt Dann mitunter spezielle Zeitbedingungen, z.B.: ▸ ▸ fi (t): Wertfunktion von Task Ti ▸ ri : Beendigungszeit von Ti ▸ v T : minimal erwarteter Wert der Taskmenge T ! ∑ fi (ri ) ≥ v T T ▸ Jitter: Die Abweichung von der Periode ist kritisch Jitter Ereignis Alternativ: Nicht mehr als n Ereignisse innerhalb von m Ereignissen dürfen ihre Deadline verpassen Zeit Periode SoSe 2016 ⋅ M. Werner 5 / 27 osg.informatik.tu-chemnitz.de SoSe 2016 ⋅ M. Werner Echtzeitsysteme – Anforderungen 2.2 Regelung ▸ osg.informatik.tu-chemnitz.de Echtzeitsysteme – Anforderungen 2.2 Regelung 2.2 Echtzeitsystem als Regelung ▸ 6 / 27 Regelkreis ▸ Verfeinerte Struktur: ▸ Erinnert an klassischen Regelkreis Betrachten die Semantik von Echtzeitsystemen Praktisch alle Echtzeitsystem steuern oder regeln á auch Computerspiele und Multimediaanwendungen, nur ist die Steuerstrecke da nicht immer sofort erkennbar ▸ Struktur eines Echtzeitsystems: Sensoren Computersystem Aktuatoren Führungsgröße w(t) Regelabweichung e(t) + Umgebung SoSe 2016 ⋅ M. Werner 7 / 27 osg.informatik.tu-chemnitz.de SoSe 2016 ⋅ M. Werner Stellgröße u(t) Regler 8 / 27 Störgröße d(t) Regelstrecke Regelgröße y(t) osg.informatik.tu-chemnitz.de Echtzeitsysteme – Anforderungen 2.2 Regelung Echtzeitsysteme – Anforderungen 2.2 Regelung Beispiel: Einfaches Programm zur Regelung Alternatives Programm Regelung 1 set timer to interrupt periodically with period time ; 2 1 2 3 4 5 6 7 while ( true ) { in [ port1 ], y ; in [ port2 ], w; x := func (w−y); out [ port3 ], x ; sleep ( time ); } 3 // // // // // Messwert lesen Zielwert lesen Steuerwert berechnen Steuerwert ausgeben Zeit zwischen Steuerbefehlen 4 5 6 7 8 at each timer interrupt do { in [ port1 ], y ; // Messwert lesen in [ port2 ], w; // Zielwert lesen x := func (w−y); // Steuerwert berechnen out [ port3 ], x ; // Steuerwert ausgeben } ▸ ▸ Wenn die Berechnung (Zeile 4) nicht konstante Zeit braucht, erfolgt Steuerung unregelmäßig ▸ Erhöht den Jitter ▸ Jitter-freier Aufruf Auswahl des Parameters time ist ein wichtiger Design-Parameter ▸ ▸ ▸ Bezeichnung: Sampling-Periode Typische Werte: Millisekunden- bis Sekundenbereich Verarbeitung sollte sequentiell geordnet sein á nächster Interrupt setzt Deadline für vorherigen SoSe 2016 ⋅ M. Werner 9 / 27 osg.informatik.tu-chemnitz.de SoSe 2016 ⋅ M. Werner Echtzeitsysteme – Anforderungen 2.2 Regelung 10 / 27 osg.informatik.tu-chemnitz.de Echtzeitsysteme – Anforderungen 2.2 Regelung Übertragungglieder Übertragungglieder (Forts.) Frage phys. Größe B phys. Größe A Wie können die Anforderungen an ein Echtzeitsystem bestimmt werden? Übertragungsglied ▸ Um zu erkennen, woher Zeitanforderungen kommen können, machen wir einen Abstecher in die klassische Regelungstheorie (für manche Wiederholung) ▸ Ideen: ▸ ▸ ▸ ▸ Dynamische physikalische Systeme werden als Systeme der Informationsverarbeitung betrachtet Es wird davon abstrahiert, welche physikalische Wirkung oder welches Medium genutzt wird ▸ ▸ ▸ ▸ ▸ Eingangs- und Ausgangsgröße können beliebige physikalische Ausprägung haben Mechanische Systeme (Größen wie Geschwindigkeit, Beschleunigung, etc.) Elektrische Systeme (Größen wie Spannung, Strom, Ladung) Thermodynamische Systeme (Größen wie Druck, Temperatur, Wärme, etc.) ... Beliebige Kombinationen sind denkbar Man betrachtet Übertragungsglieder ▸ Übertragungsglieder stellen zwei physikalische Größen in Zusammenhang SoSe 2016 ⋅ M. Werner 11 / 27 osg.informatik.tu-chemnitz.de SoSe 2016 ⋅ M. Werner 12 / 27 osg.informatik.tu-chemnitz.de Echtzeitsysteme – Anforderungen 2.2 Regelung Echtzeitsysteme – Anforderungen 2.2 Regelung Mathematische Beschreibung Beispiele Die Beziehung zwischen Eingang und Ausgang von Übertragungsgliedern1 (und dynamischen Systemen überhaupt) lässt sich in der Regel mit einer Differentialgleichung beschreiben Sei ▸ ▸ ▸ ▸ ▸ Beispiele bei elektrischen Systemen: Ü-Glied u(t) Eingangssignal y(t) Ausgangssignal Symbol Zusammenhang Widerstand u(t) = i(t) ⋅ R Spule u(t) = L ⋅ d i(t) dt Kondensator i(t) = C ⋅ d u(t) dt Dann gilt: ▸ an dn−1 y dy dn y + a + ⋯ + a1 + a0 y(t) = n−1 dtn dtn−1 dt dq u dq−1 u du bq q + bq−1 q−1 + ⋯ + b1 + b0 u(t) dt dt dt 1 Genauer: lineare, zeitinvariante Ü-Glieder, auch LZI-Glieder SoSe 2016 ⋅ M. Werner 13 / 27 osg.informatik.tu-chemnitz.de SoSe 2016 ⋅ M. Werner Echtzeitsysteme – Anforderungen 2.2 Regelung Zusammenschaltung LZI-Übertragungsglieder lassen sich eindeutig durch ihre Sprungantwort oder ihre Impulsantwort beschreiben Sprungantwort Impulsantwort Ausgangssignal des Gliedes als Reaktion auf das Eingangssignal ⎧ ⎪ ⎪0 ⇐ t < 0 u(t) = ⎨ ⎪ 1 ⇐t≥0 ⎪ ⎩ (Heaviside-Funktion) Ausgangssignal des Gliedes als Reaktion auf das Eingangssignal ⎧ ⎪ ⎪ 1 ⇐ t ∈ [0, ∆t] u(t) = lim ⎨ ∆t ∆t→0 ⎪ 0 ⇐ sonst ⎪ ⎩ (Dirac-Funktional) 1 ▸ 0,5 ▸ -0,5 0 0,5 1 1,5 Heaviside-Funktion SoSe 2016 ⋅ M. Werner osg.informatik.tu-chemnitz.de Echtzeitsysteme – Anforderungen 2.2 Regelung Sprung- und Impulsantwort ▸ 14 / 27 15 / 27 ▸ Übertragungsglieder können zusammengeschaltet werden Reihenschaltung Verzweigung Zusammenführung Die Sprungantwort lässt sich leichter experimentell ermitteln ▸ Pfeile stellen veränderliche Größen (Signale) dar ▸ Übertragungsglieder sind rückwirkungsfrei Es lassen sich daraus alle Antworten mit Hilfe der Faltung errechnen ▸ Gefüllte Kreise sind Signalverzweigungen und ungefüllte Kreise sind Summationsstellen osg.informatik.tu-chemnitz.de SoSe 2016 ⋅ M. Werner 16 / 27 osg.informatik.tu-chemnitz.de Echtzeitsysteme – Anforderungen 2.2 Regelung Echtzeitsysteme – Anforderungen 2.2 Regelung Superpositionsprinzip Typische Übertragungsglieder Name Übertragungsfunktion P-Glied, Proportionalglied y(t) = K ⋅ u(t) Schaltbild Sprungantwort Sprungantwort ▸ Amplitude K Zeit Bei zeitinvarianten, linearen Übertragungsgliedern gilt: D-Glied, Differenzierungsglied y(t) = d dt u(t) Amplitude Sprungantwort Ks Zeit u(t) = a ⋅ u1 (t) + b ⋅ u2 (t) ⇒ y(t) = a ⋅ y1 (t) + b ⋅ y2 (t) ▸ Man nennt dies Superpositionsprinzip (Überlagerungsprinzip) SoSe 2016 ⋅ M. Werner 17 / 27 Amplitude d dt y(t) K s = u(t) Zeit Tt -Glied, Totzeitglied y(t) = u(t − T0 ) PT1 -Glied, Verzögerungsglied 1. Ordnung T y(t) 9 + y(t) = u(t) osg.informatik.tu-chemnitz.de Tt Sprungantwort Zeit P T1 Sprungantwort Zeit SoSe 2016 ⋅ M. Werner Echtzeitsysteme – Anforderungen 2.2 Regelung Amplitude Mit anderen Worten: jeder Signalbestandteil kann einzeln betrachtet werden á wenige Fälle I-Glied, Integralglied Amplitude ▸ Sprungantwort 18 / 27 osg.informatik.tu-chemnitz.de Echtzeitsysteme – Anforderungen 2.2 Regelung Regelung Diskreter Regelkreis Ziel eines Regelkreises Eine Ausgangsgröße (y(t)) soll entsprechend einer Führungsgröße (w(t)) gesteuert werden. ▸ Die Nutzung des Rechners macht die Reglung zeitdiskret Störung d(t) Führung w(t) u(t) Regler w(t) Störverhalten uR(t) Stellglied Meßglied - Meßrauschen r(t) Klassische Regler sind analoge Übertragungsglieder In diesem Kurs interessante Regler: Rechner + Programm SoSe 2016 ⋅ M. Werner e(t) - y(t) ym(t) ▸ + u(t) Regler Halteglied Regelstrecke y(t) Stellverhalten yS(t) Regelstrecke ▸ d(t) 19 / 27 osg.informatik.tu-chemnitz.de ▸ Es werden Abtastglieder und Halteglieder dem Standardregelkreis hinzugefügt ▸ Die Ausgangsgröße wird nur zu bestimmten Zeitpunkten gemessen bzw. abgetastet (Abtastzeitpunkt) ▸ Zeitspanne zwischen zwei Abtastungen ist i.d.R. konstant á Abtastzeit SoSe 2016 ⋅ M. Werner 20 / 27 osg.informatik.tu-chemnitz.de Echtzeitsysteme – Anforderungen 2.2 Regelung Echtzeitsysteme – Anforderungen 2.2 Regelung Nyquist-Shannon-Abtasttheorem Totzeit ▸ ▸ Bekannt aus Rechnernetze oder Signalübertragung: ▸ Die computisierte Regelung (insb. Zeitdiskretisierung) hat noch einen anderen Effekt: Einfügen von Totzeiten Betrachten Ereigniskette: SuC Nyquist-Shannon-Abtasttheorem Hardware Software Ereignis Interrupt Ein Signal mit der Maximalfrequenz fmax muss mit einer Frequenz fsample größer als 2 ⋅ fmax abgetastet werden, damit man aus dem so erhaltenen zeitdiskreten Signal das Ursprungssignal ohne Informationsverlust rekonstruieren kann. Wirkverzögerung ISR Sensor lesen ▸ Analog gilt für diskrete Regler, dass sie auf Frequenzen fmax > korrekt reagieren können fsample 2 nicht tsense A/D-Wandlung Steuertask laufbereit á Signal gibt (minimale) Abtastfrequenz und damit Aufrufrequenz der Auswerteroutine und ihre maximale Deadline vor Steuertask Steuerereignis SoSe 2016 ⋅ M. Werner 21 / 27 osg.informatik.tu-chemnitz.de Echtzeitsysteme – Anforderungen 2.2 Regelung 22 / 27 osg.informatik.tu-chemnitz.de Echtzeitsysteme – Anforderungen 2.2 Regelung Genauigkeit des Echtzeitabbildes ▸ tdead tact D/A-Wandlung SoSe 2016 ⋅ M. Werner tCPU Wirkung von Totzeiten "#$%#&'%#()*+%,#&%-.-%#/# 0#&%'&*+#(1#234&56#&% Das Genauigkeitsintervall bei der Abbildung des Echtzeitbildes stellt eine Totzeit dar ▸ ▸ Zusätzliche Totzeiten können einen sonst funktionierenden Regler inoperabel machen Gesamtes System wird instabil yz >?8$32=3** Totzeitstrecke y x %9:- %&;6 %&;!(((((%&<%4-# P-Regler 7#3'(8&/# A#,45-B426%('#%,%#(C&-%9$&#(D$#*#2% +&-%9$. 7CE(=#$(:#9:3*+%#%#2(78()2%&%. Abbildung: Genauigkeitsintervall (aus [Kop97] ) 7C& ,4/(0#&%B426%(%(&-%(#&2#(5#9$=2#%#(F#25#(G92(0#&%B426%#2(H%&I(%&;!I(JJJI(%&;6K SoSe 2016 ⋅ M. Werner 23 / 27 osg.informatik.tu-chemnitz.de ! LM25#(=3**<,D%&E; ,D%&;6E(5&:%(,#&%'J(1#234&56#&%(32 w Quelle: Samal u. Becker: Grundriss der praktischen Regelungstechnik“ ” SoSe 2016 ⋅ M. Werner 24 / 27 osg.informatik.tu-chemnitz.de Echtzeitsysteme – Anforderungen 2.2 Regelung Echtzeitsysteme – Anforderungen 2.2 Regelung Wirkung von Totzeiten (Forts.) Weitere Anforderungen ▸ ▸ Stabilität kann mit verschiedenen Verfahren getestet werden; z.B.: ▸ ▸ ▸ ▸ Nynquist-Kriterium Hurwitz-Kriterium ▸ ▸ Auch bei stabilen Systemen können Totzeiten die Regelungqualität einschränken oder den beherrschbaren (regelbaren) Zustandsraum beschneiden á Stabilitäts- und Güteforderungen können Deadline einschränken SoSe 2016 ⋅ M. Werner 25 / 27 osg.informatik.tu-chemnitz.de Echtzeitsysteme – Anforderungen Anhang A: Literatur Anhang A: Literatur [Lui00] Jane W. S. Lui. Real-Time Systems. Prentice Hall, 2000, Kapitel 1 und 2 [WB05] Heinz Wörn und Uwe Brinkschulte. Echtzeitsysteme. Grundlagen, Funktionsweisen, Anwendungen. Springer, 2005, Kapitel 1 [Kop97] Hermann Kopetz. Real-Time Systems – Design Principles for Distributed Embedded Applications. Kluver Academic, 1997, Abschnitt 1.3 SoSe 2016 ⋅ M. Werner Neben zeitlichen Anforderungen haben Echtzeitsysteme i.d.R. noch andere nichtfunktionale Anforderung, z.B.: 27 / 27 osg.informatik.tu-chemnitz.de ▸ ▸ Zuverlässigkeit Verfügbarkeit Technische Sicherheit Informationssicherheit ... ▸ Nicht Gegenstand dieser Lehrveranstaltung ▸ Aber: solche Anforderungen können Wechselwirkung mit zeitlichen Anforderungen haben SoSe 2016 ⋅ M. Werner 26 / 27 osg.informatik.tu-chemnitz.de