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