From 9f6398676910a35847f114b8c3f3ca53af134d0b Mon Sep 17 00:00:00 2001 From: guest Date: Thu, 11 Oct 2007 16:45:11 +0000 Subject: started section operating system needs git-svn-id: svn+ssh://mecka.net/home/svn/rtcorba-paper@9 da047780-0f9f-48de-953f-cd541ee48bbd --- paper.tex | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) (limited to 'paper.tex') diff --git a/paper.tex b/paper.tex index 9cda653..08fa6f6 100755 --- a/paper.tex +++ b/paper.tex @@ -165,17 +165,6 @@ To simulate the transmission of bigger process data images, the parameter \texti \epsin{sequenzV1}{80}{fig1:f5}{RPC measurement: sequence diagramm} -For testing the priorization based scheduling, the following interface was added: - -\begin{lstlisting} - interface Data{ - void Send(in string data); - }; -\end{lstlisting} - -Each time \textit{Send} was called, the Receiver did a calculation of faculty(100). The \textit{Data} interface was hosted with lower priority, then the Put interface. - - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% SUB SECTION (OPTIONAL) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -192,6 +181,12 @@ As soon as the value of the digital input of the Supplier changes, the new value %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Needed operating system functionalities} +An TAO ORB can only schedule its CORBA requests correctly, if the underlying operating system has an priorization based scheduler, with a defined maximum scheduling latency. The timer and scheduling latency of a linux system can be determined with cyclictest. For example, the worst case latency on a RT\_PREEMPT enabled box is $26 \mu s$. The same test, on the same box, but with RT\_PREEMPT disabled is $39.6 ms$. + +The operating system should support priorization of device i/o data. The real-time application must not beeing interrupted by incomming traffic on any device, excepted data the real-time application must react on (e.g. digital inputs). On a RT\_PREEMPT enabled linux, the most part of all ISR\footnote{interrupt service routine}s are done in kernel threads, which can be priorized from userspace. This solution has two little cons: IRQ sharing and the softirqs for networking. IRQ sharing prevents from a real per device priorization. The softirqs for networking handle the traffic of all NICs in the system. So the priorization of network data from a specific device is not possible. But in case real-time networking gets more and more important, the community works on a solution for this issue. + +real-time capable network drivers + \section{Conclusion} -- cgit v1.2.3