summaryrefslogtreecommitdiff
path: root/diplomathesis/node13.html
diff options
context:
space:
mode:
Diffstat (limited to 'diplomathesis/node13.html')
-rw-r--r--diplomathesis/node13.html127
1 files changed, 127 insertions, 0 deletions
diff --git a/diplomathesis/node13.html b/diplomathesis/node13.html
new file mode 100644
index 0000000..3d7e541
--- /dev/null
+++ b/diplomathesis/node13.html
@@ -0,0 +1,127 @@
+<!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>RTOS</TITLE>
+<META NAME="description" CONTENT="RTOS">
+<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="previous" HREF="node12.html">
+<LINK REL="up" HREF="node12.html">
+<LINK REL="next" HREF="node14.html">
+</HEAD>
+
+<BODY >
+
+<DIV CLASS="navigation"><!--Navigation Panel-->
+<A NAME="tex2html351"
+ HREF="node14.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
+ SRC="/usr/share/latex2html/icons/next.png"></A>
+<A NAME="tex2html347"
+ HREF="node12.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
+ SRC="/usr/share/latex2html/icons/up.png"></A>
+<A NAME="tex2html343"
+ HREF="node12.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
+ SRC="/usr/share/latex2html/icons/prev.png"></A>
+<A NAME="tex2html349"
+ 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="tex2html352"
+ HREF="node14.html">embedded Systems</A>
+<B> Up:</B> <A NAME="tex2html348"
+ HREF="node12.html">Echtzeitsystem</A>
+<B> Previous:</B> <A NAME="tex2html344"
+ HREF="node12.html">Echtzeitsystem</A>
+ &nbsp; <B> <A NAME="tex2html350"
+ HREF="node3.html">Contents</A></B>
+<BR>
+<BR></DIV>
+<!--End of Navigation Panel-->
+
+<H3><A NAME="SECTION00053100000000000000"></A>
+<A NAME="sec:rtos"></A>
+<BR>
+RTOS - Real-time Operating System - Echtzeitbetriebssystem
+</H3>
+Konventionelle Betriebssysteme und Echtzeitbetriebssysteme unterscheiden sich am gravierendsten in der Implementierung des Schedulings. Insbesondere in der Implementierung der Warteliste. Sobald in der Warteliste eine h&#246;her priorisierte Aufgabe, als die die gerade bearbeitet wird eintrifft, mu&#223; ein RTOS die neu eingetroffene Aufgabe bearbeiten. Um dies ohne Zeitverluste gew&#228;hrleisten zu k&#246;nnen, mu&#223; bei einem RTOS das Auffinden der Aufgabe mit der h&#246;chsten Priorit&#228;t in der Warteliste sehr effektiv implementiert sein.
+
+<P>
+Beim Umgang mit Semaphoren und Mutexen mu&#223; bei der Implementation eines RTOS zus&#228;tzlich darauf geachtet werden, dass es bei verschieden priorisierten Aufgaben zu einer unerw&#252;nschten Priority Inversion kommen kann. Eine niedrig priorisierte Aufgabe h&#228;lt einen Mutex. Dieser wird kurz darauf von einer h&#246;her priorisierten Aufgabe angefordert. In diesem Fall mu&#223; vermieden werden, dass die h&#246;her priorisierte Aufgabe solange blockiert, bis die niedriger Priorisierte den Mutex freigibt.
+
+<P>
+Ein RTOS mu&#223; die Abarbeitung von Interrupts cachen, damit diese nicht die Ausf&#252;hrung von Echtzeitaufgaben beeinflussen.
+
+<P>
+Die Reservierung von Speicher mu&#223; in konstanter Zeit, unabh&#228;ngig von der Menge des angeforderten Speichers erfolgen. Bietet das RTOS dieses Feature nicht, mu&#223; der Programmierer vor der Echtzeitbearbeitung den von der Echtzeitroutine ben&#246;tigten Speicher reservieren.
+
+<P>
+Der vanilla Linux Kernel [<A
+ HREF="node86.html#kernel">The 07</A>] bietet momentan noch keine ausreichende Grundlage f&#252;r harte Echtzeit unter Linux. Der RT_ PREEMPT PATCH ([<A
+ HREF="node86.html#rt">Moln07</A>] und [<A
+ HREF="node86.html#rtwiki">Ts'o07</A>]) von Ingo Molnar et al., fa&#223;t die n&#246;tigen &#196;nderungen f&#252;r harte Echtzeit gegen&#252;ber dem vanilla Kernel zusammen. Linus Torvalds ist mit der sukzessiven Integration des RT_ PREEMPT Patches in die vanilla Sources einverstanden. Jede Menge Code aus dem RT_ PREEMPT Patch wanderte mit 2.6.18 und 2.6.19 in die vanilla Sourcen. Weiteres wird mit den n&#228;chsten Kernel Releases folgen.
+
+<P>
+Neben Linux mit RT_ PREEMPT Patch gibt es weitere (zum Teil kommerzielle) <SPAN CLASS="textit">RTOS</SPAN>es. Ein kleiner Auszug bekannter Systeme: RTLinux [<A
+ HREF="node86.html#rtlinux">FSML07</A>], INTEGRITY [<A
+ HREF="node86.html#integrity">Gree07</A>], Symbian OS [<A
+ HREF="node86.html#symbian">Limi07</A>], VxWorks [<A
+ HREF="node86.html#vxworks">RIVE07</A>], Windows CE [<A
+ HREF="node86.html#ce">Micr07</A>], Microware OS 9 [<A
+ HREF="node86.html#os9">Radi07</A>]....
+
+<P>
+Bei TRUMPF Laser wird der Standard Kernel mit RT_ PREEMPT Patch verwendet, da ein Laser &#252;ber 10 Jahre im Einsatz ist und kein kommerzielles Produkt mit entsprechend langem Supportzyklus angeboten wird. Ein weiterer Grund f&#252;r Linux war die einfache Portierbarkeit des Codes, von dem zuvor eingesetzten Microware OS 9.
+
+<P>
+
+<DIV CLASS="navigation"><HR>
+<!--Navigation Panel-->
+<A NAME="tex2html351"
+ HREF="node14.html">
+<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
+ SRC="/usr/share/latex2html/icons/next.png"></A>
+<A NAME="tex2html347"
+ HREF="node12.html">
+<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
+ SRC="/usr/share/latex2html/icons/up.png"></A>
+<A NAME="tex2html343"
+ HREF="node12.html">
+<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
+ SRC="/usr/share/latex2html/icons/prev.png"></A>
+<A NAME="tex2html349"
+ 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="tex2html352"
+ HREF="node14.html">embedded Systems</A>
+<B> Up:</B> <A NAME="tex2html348"
+ HREF="node12.html">Echtzeitsystem</A>
+<B> Previous:</B> <A NAME="tex2html344"
+ HREF="node12.html">Echtzeitsystem</A>
+ &nbsp; <B> <A NAME="tex2html350"
+ HREF="node3.html">Contents</A></B> </DIV>
+<!--End of Navigation Panel-->
+<ADDRESS>
+Manuel Traut
+2007-02-25
+</ADDRESS>
+</BODY>
+</HTML>