summaryrefslogtreecommitdiff
path: root/diplomathesis/node12.html
blob: 439b13901d1412f16e8b586c8772972f93569245 (plain)
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>
 &nbsp; <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&#228;chst werden zum weiteren Verst&#228;ndnis notwendige Begriffe definiert, anschlie&#223;end wird auf den Unterschied zwischen harter und weicher Echtzeit eingegangen. Die Anforderungen an ein Echtzeitsystem werden geschildert. Am Beispiel von Funktionalit&#228;ten eines Autos wird die Dringlichkeit von Priorisierung vermittelt. In einem Unterkapitel werden die Unterschiede zwischen einem konventionellen und einem Echtzeit Betriebssystem erl&#228;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&#252;hrungszeit</STRONG></DT>
<DD>eines Programms, ist die Zeit, die das Programm ben&#246;tigt um <SPAN CLASS="MATH"></SPAN> Datens&#228;tze zu verarbeiten (wird in der Regel als Formel abh&#228;ngig von <SPAN CLASS="MATH"></SPAN> angegeben).
</DD>
<DT><STRONG>Priorit&#228;t</STRONG></DT>
<DD>beschreibt die Dringlichkeit eine Aufgabe abzuarbeiten. Je h&#246;her die Priorit&#228;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&#223;: <!-- 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&#252;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&#228;hrleisten zu k&#246;nnen, m&#252;ssen:

<UL>
<LI>alle Systemkomponenten ihre Aufgabe in einer definierten Zeit garantiert ausgef&#252;hrt haben. Dies kann bei verschiedenen Komponenten schwierig (Festplatten mit Cache) bis unm&#246;glich (TCP/IP geroutetes Netz) sein.
</LI>
<LI>die vom Programm ben&#246;tigten Ressourcen (Speicher, CPU Leistung) bekannt und vorhanden sein.
</LI>
<LI>die Dauer von Betriebssystemaufrufen bekannt sein.
</LI>
<LI>die maximale Ausf&#252;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 &#252;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&#246;her priorisiert werden, als die Komfortfunktionen. Eine Komfortfunktion darf niemals das Abarbeiten einer Sicherheitsfunktion behindern. W&#252;rde dies geschehen, w&#228;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>
 &nbsp; <B>  <A NAME="tex2html339"
  HREF="node3.html">Contents</A></B> </DIV>
<!--End of Navigation Panel-->
<ADDRESS>
Manuel Traut
2007-02-25
</ADDRESS>
</BODY>
</HTML>