1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<TITLE>Echtzeitsystem</TITLE>
<META NAME="description" CONTENT="Echtzeitsystem">
<META NAME="keywords" CONTENT="diplomathesis">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="diplomathesis.css">
<LINK REL="next" HREF="node14.html">
<LINK REL="previous" HREF="node11.html">
<LINK REL="up" HREF="node9.html">
<LINK REL="next" HREF="node13.html">
</HEAD>
<BODY >
<DIV CLASS="navigation"><!--Navigation Panel-->
<A NAME="tex2html340"
HREF="node13.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html336"
HREF="node9.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html330"
HREF="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html338"
HREF="node3.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html341"
HREF="node13.html">RTOS</A>
<B> Up:</B> <A NAME="tex2html337"
HREF="node9.html">Grundlagen</A>
<B> Previous:</B> <A NAME="tex2html331"
HREF="node11.html">openSource Entwicklungsmodell</A>
<B> <A NAME="tex2html339"
HREF="node3.html">Contents</A></B>
<BR>
<BR></DIV>
<!--End of Navigation Panel-->
<H2><A NAME="SECTION00053000000000000000"></A>
<A NAME="sec:Real-time"></A>
<BR>
Echtzeitsystem
</H2>
<P>
Zunächst werden zum weiteren Verständnis notwendige Begriffe definiert, anschließend wird auf den Unterschied zwischen harter und weicher Echtzeit eingegangen. Die Anforderungen an ein Echtzeitsystem werden geschildert. Am Beispiel von Funktionalitäten eines Autos wird die Dringlichkeit von Priorisierung vermittelt. In einem Unterkapitel werden die Unterschiede zwischen einem konventionellen und einem Echtzeit Betriebssystem erläutert.
<P>
<DL>
<DT><STRONG>Latenzzeit</STRONG></DT>
<DD>ist die Dauer zwischen Aktion (zum Beispiel Tastendruck) und Reaktion (Darstellung des entsprechenden Zeichens auf dem Bildschirm).
</DD>
<DT><STRONG>maximale Ausführungszeit</STRONG></DT>
<DD>eines Programms, ist die Zeit, die das Programm benötigt um <SPAN CLASS="MATH"></SPAN> Datensätze zu verarbeiten (wird in der Regel als Formel abhängig von <SPAN CLASS="MATH"></SPAN> angegeben).
</DD>
<DT><STRONG>Priorität</STRONG></DT>
<DD>beschreibt die Dringlichkeit eine Aufgabe abzuarbeiten. Je höher die Priorität desto wichtiger ist die Bearbeitung.
</DD>
<DT><STRONG>Deadline</STRONG></DT>
<DD>definiert den Zeitpunkt zu dem das Programm garantiert ein Ergebnis berechnet haben muß: <!-- MATH
$Time_{deadline} = Time_{start} + Duration_{max}$
-->
<SPAN CLASS="MATH"></SPAN>. Ein Ergebnis nach diesem Zeitpunkt ist unter harten Echtzeitbedingungen unbrauchbar.
</DD>
</DL>
<P>
Ein Echtzeitsystem mit <SPAN CLASS="textit">harten Echtzeitanforderungen</SPAN> garantiert, dass das Ergebnis einer Berechnung innerhalb eines vorgegebenen Zeitintervalls <!-- MATH
$(0, Duration_{max}]$
-->
<SPAN CLASS="MATH"></SPAN> geliefert wird. Die maximal erlaubte Bearbeitungsdauer <!-- MATH
$Duration_{max}$
-->
<SPAN CLASS="MATH"></SPAN> für die Berechnung und die Einheit des Zeitintervalls wird von den Anforderungen an die Anwendung definiert.
<P>
Um <SPAN CLASS="textit">harte Echtzeitbedingungen</SPAN> in einem System gewährleisten zu können, müssen:
<UL>
<LI>alle Systemkomponenten ihre Aufgabe in einer definierten Zeit garantiert ausgeführt haben. Dies kann bei verschiedenen Komponenten schwierig (Festplatten mit Cache) bis unmöglich (TCP/IP geroutetes Netz) sein.
</LI>
<LI>die vom Programm benötigten Ressourcen (Speicher, CPU Leistung) bekannt und vorhanden sein.
</LI>
<LI>die Dauer von Betriebssystemaufrufen bekannt sein.
</LI>
<LI>die maximale Ausführungszeit des eigenen Programms bekannt sein.
</LI>
</UL>
<P>
Ist von <SPAN CLASS="textit">weichen Echtzeitanforderungen</SPAN> die Rede, so darf ein definierter, geringer Prozentsatz aller Anfragen die Deadline überschreiten. In industriellen Steuerungen ist diese Echtzeit unbrauchbar.
<P>
In der Regel sind nicht alle Aufgaben einer Applikation zeitkritisch. Beispielsweise ist es in einem Auto unverzichtbar, dass Sicherheitsfunktionen wie Airbag, ABS, ESP rechtzeitig funktionieren. Unwichtiger ist, dass der elektrische Fensterheber in kritischen Situationen latenzfrei reagiert. Dies geschieht, indem die Sicherheitsfunktionen höher priorisiert werden, als die Komfortfunktionen. Eine Komfortfunktion darf niemals das Abarbeiten einer Sicherheitsfunktion behindern. Würde dies geschehen, wäre von einer Priority Inversion die Rede.
<P>
<BR><HR>
<!--Table of Child-Links-->
<A NAME="CHILD_LINKS"><STRONG>Subsections</STRONG></A>
<UL CLASS="ChildLinks">
<LI><A NAME="tex2html342"
HREF="node13.html">RTOS</A>
</UL>
<!--End of Table of Child-Links-->
<DIV CLASS="navigation"><HR>
<!--Navigation Panel-->
<A NAME="tex2html340"
HREF="node13.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="/usr/share/latex2html/icons/next.png"></A>
<A NAME="tex2html336"
HREF="node9.html">
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="/usr/share/latex2html/icons/up.png"></A>
<A NAME="tex2html330"
HREF="node11.html">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="/usr/share/latex2html/icons/prev.png"></A>
<A NAME="tex2html338"
HREF="node3.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="/usr/share/latex2html/icons/contents.png"></A>
<BR>
<B> Next:</B> <A NAME="tex2html341"
HREF="node13.html">RTOS</A>
<B> Up:</B> <A NAME="tex2html337"
HREF="node9.html">Grundlagen</A>
<B> Previous:</B> <A NAME="tex2html331"
HREF="node11.html">openSource Entwicklungsmodell</A>
<B> <A NAME="tex2html339"
HREF="node3.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Manuel Traut
2007-02-25
</ADDRESS>
</BODY>
</HTML>
|