summaryrefslogtreecommitdiff
path: root/realtime/rt-basics
diff options
context:
space:
mode:
authorManuel Traut <manut@linutronix.de>2009-06-22 15:47:30 +0200
committerManuel Traut <manut@linutronix.de>2009-06-22 15:47:30 +0200
commit9cbb0a699f398daffa8c1808d02bf447ebf0c1f0 (patch)
treeea3f4d4081b0648e1da7b1e1d8d3dabe12705a0a /realtime/rt-basics
parent9e0bab8ec70646ed9c51d5c7d272da4b51698c6c (diff)
parent719085c3dc98ab3df272476e16e983e4a16fe14b (diff)
Merge branch 'master' of ssh://tglx.de/home/linutronix/git/schulung
Diffstat (limited to 'realtime/rt-basics')
-rw-r--r--realtime/rt-basics/handout_rt-basics_de.tex168
-rw-r--r--realtime/rt-basics/hints_rt-basics_de.tex13
-rw-r--r--realtime/rt-basics/images/dual_kernel.pngbin0 -> 43070 bytes
-rw-r--r--realtime/rt-basics/images/dual_kernel.svg251
-rw-r--r--realtime/rt-basics/images/gpos_vs_rt.pngbin0 -> 124609 bytes
-rw-r--r--realtime/rt-basics/images/gpos_vs_rt.svg134
-rw-r--r--realtime/rt-basics/images/ipipe.pngbin0 -> 18012 bytes
-rw-r--r--realtime/rt-basics/images/ipipe.svg185
-rw-r--r--realtime/rt-basics/images/mar01.pngbin0 -> 43535 bytes
-rw-r--r--realtime/rt-basics/images/mar01.svg122
-rw-r--r--realtime/rt-basics/images/mar02.pngbin0 -> 72568 bytes
-rw-r--r--realtime/rt-basics/images/mar02.svg158
-rw-r--r--realtime/rt-basics/images/mar03.pngbin0 -> 74787 bytes
-rw-r--r--realtime/rt-basics/images/mar03.svg163
-rw-r--r--realtime/rt-basics/images/nuclear.pngbin0 -> 1134159 bytes
-rw-r--r--realtime/rt-basics/images/preempt_rt.pngbin0 -> 26716 bytes
-rw-r--r--realtime/rt-basics/images/preempt_rt.svg254
-rw-r--r--realtime/rt-basics/images/prio_inv.pngbin0 -> 23132 bytes
-rw-r--r--realtime/rt-basics/images/prio_inv.svg207
-rw-r--r--realtime/rt-basics/images/rtai.diabin0 -> 634 bytes
-rw-r--r--realtime/rt-basics/images/rtai.dia~bin0 -> 801 bytes
-rw-r--r--realtime/rt-basics/images/rtai.pngbin0 -> 33749 bytes
-rw-r--r--realtime/rt-basics/images/rtai.svg273
-rw-r--r--realtime/rt-basics/images/single_kernel.pngbin0 -> 34007 bytes
-rw-r--r--realtime/rt-basics/images/single_kernel.svg234
-rw-r--r--realtime/rt-basics/images/xenomai.pngbin0 -> 34356 bytes
-rw-r--r--realtime/rt-basics/images/xenomai.svg274
-rw-r--r--realtime/rt-basics/pres_rt-basics_de.tex210
28 files changed, 2624 insertions, 22 deletions
diff --git a/realtime/rt-basics/handout_rt-basics_de.tex b/realtime/rt-basics/handout_rt-basics_de.tex
index 4c391b2..8d98ccc 100644
--- a/realtime/rt-basics/handout_rt-basics_de.tex
+++ b/realtime/rt-basics/handout_rt-basics_de.tex
@@ -1,17 +1,173 @@
-\documentclass{article}
+\documentclass{lxarticle}
\usepackage{german}
\usepackage[utf8]{inputenc}
+\usepackage{lxheaders}
+\usepackage{lxextras}
\begin{document}
-\section*{Titel}
+\section*{Realtime Linux}
-\subsection*{Abschnitt1}
+\subsection*{Grundlagen}
-Text
+\subsubsection*{Was ist Echtzeit?}
+Vor der Betrachtung verschiedener Ansätze, Linux echtzeitfähig zu machen, ist es
+notwendig, einige grundlegende Begrifflichkeiten zur erläutern:
+\begin{itemize}
+\item Echtzeit:
+Zur Definition eines Echtzeitsystems kann man folgende Aussagen Treffen: Auf
+einem Echtzeitsystem hängt die Korrektheit einer Berechnung nicht nur von ihrer
+logischen Korrektheit, sondern auch von der Ausführung zum korrekten Zeitpunkt
+ab. Das Nichteinhalten eines bestimmten Zeitrahmens resultiert in einem Fehler.
+\item Latenzzeit: Unter Latenzzeit versteht man den Zeitraum zwischen dem
+Auftreten eines Events und der Reaktion auf dieses Event.
+\item Jitter: Mit Jitter bezeichnet man die Varianz der Latenzzeit.
+\end{itemize}
-\subsection*{Abschnitt2}
+\subsubsection*{Anwendungsbereiche}
+Die wohl gängigsten Anwendungsbereiche für Echtzeitsysteme sind die
+Steuerungs- und Automatisierungstechnik, Multimediasysteme und die Luft- und
+Raumfahrttechnik. Ein weiteres interessantes Einsatzgebiet stellt die
+Finanzdienstleistung dar. Hier geht es insbesondere um die zeitgenaue,
+zuverlässige Abwicklung von Finanztransaktionen über hochverteilte Systeme.
-Text
+\subsubsection*{Anforderungen an ein Echtzeitsystem}
+Ein Echtzeitsystem muß in der Lage sein, in einem garantierten Zeitrahmen auf
+ein Ereignis zu reagieren. Es muß also möglich sein, in möglichst kurzer Zeit
+von einer niederprioren Task auf eine hochpriore Task umzuschalten, falls diese
+Rechenzeit benötigt. Das System muß also möglichst ''feingranular''
+unterbrechbar sein.
+Doch allein die Unterbrechbarkeit kann kein deterministisches Zeitverhalten
+garantieren. So kann eine niederpriore Task Resourcen blockieren, die von einer
+hochprioren Task benötigt werden. Wird die niederpriore Task nun unterbrochen,
+kommt es zur ''Prioritätsinversion / priority inversion'', da die hochpriore Task
+auf die Freigabe der Resource wartet, diese aber erst wieder dann freigegeben
+wird, wenn die niederpriore Task wieder Rechenzeit bekommt.
+Gelöst werden kann dieses Problem durch ''prioriy inheritance'' und ''priority ceiling''.
+\begin{itemize}
+\item Prioritätsvererbung / priority inheritance: Hier wird die Priorität der
+niederprioren Task angehoben, um zu erreichen, daß die blockierte Resource
+freigegeben werden kann.
+\item Prioritätsgrenzen / priority ceiling: Hier wird für jede Resource eine
+Prioritätsgrenze festgelegt. Jede Task, die die Resource belegt, wird auf die
+Prioritätsgrenze der Resource angehoben.
+\end{itemize}
+
+\subsection*{Realtime Linux Varianten}
+\subsubsection*{Historisches zu Echtzeitlinux}
+Im Gegensatz zu traditionellen Echtzeitsystem wurde Linux ursprünglich nicht als
+solches designt. Als General Purpose Operating System wurde Linux auf Fairness
+und Durchsatz optimiert. Linux echtzeitfähig zu machen, bedeutet also, ein
+Standardbetriebssystem um Echtzeitfunktionen bzw. entsprechende Sonderfälle zu
+erweitern. Mit dieser Tatsache lassen sich die zwei technischen Ansätze für
+Realtime Linux erklären.
+\begin{itemize}
+\item Dual Kernel Ansatz: Hier koexistieren ein Echtzeitkernel, der für alle
+zeitkritischen Dinge zuständig ist, und ein Standard Linux Kernel. Dieser Ansatz
+setzt voraus, daß alle externen Events zuerst vom Echtzeitkernel bearbeitet
+werden, bevor Sie an den Linux Kernel weitergereicht werden können. Die
+bekanntesten Vertreter dieser Technik sind RTAI und Xenomai.
+\item In-Kernel Ansatz: Diese Methode macht Linux an sich zu einem
+Echtzeitsystem. Dieser Ansatz wird mit dem Realtime Preemption Patch verfolgt
+und ist die Variante, die von den Linux Entwicklern zur Integration in den
+Hauptzweig von Linux abgenickt wurde.
+\end{itemize}
+
+\subsubsection*{RTAI}
+Das Realtime Application Interface (RTAI) ist eine Entwicklung der Technischen
+Universität Mailand und entstand unter der Schirmherrschaft von Professor Paolo
+Mantegazza. Oberstes Designziel von RTAI ist und war es, die kleinstmöglichen
+Latenzzeiten auf einer gegebenen Hardwareplattform zu erzielen. Dieses
+Designziel bedingt diverse Einschränkungen für RTAI Applikationen. Weiterhin
+wird nur eine recht kleine Anzahl an Zielplattormen unterstützt (derzeit x86,
+x86\_64 und diverse ARM Plattformen).
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/rtai.png}
+\caption{Technischer Aufbau von RTAI}
+\label{img:rtai}
+\end{figure}
+RTAI ist ein typischer Vertreter des Dual Kernel Ansatzes. Abbildung
+\ref{img:rtai} zeigt die Funktionsweise von RTAI.
+
+\subsubsection*{Xenomai}
+Das Xenomai Projekt wurde im Jahre 2001 gegründet. Im Gegensatz zu RTAI erlaubt
+Xenomai auch Echtzeit im Userpace (RTAI erlaubt dies nur sehr eingeschränkt).
+Die Besonderheit von Xenomai sind die sogenannten Skins, die es vereinfachen sollen,
+Applikationen von anderen Echtzeitsystemen nach Xenomai zu portieren.
+Xenomai Skins bilden die API dieser Systeme ab. Xenomai unterstützt derzeit
+folgende Architekturen: PowerPC32, PowerPC64, x86, x86\_64, Blackfin, ARM und
+ia64). Die zentralen Begriffe im Designkonzept von Xenomai stellen Xenomai
+Nucleus, die Interrupt Pipeline (IPIPE), Hardware Abstraction Layer (HAL) und
+System Abstraction Layer (SAL) dar.
+IPIPE kann bildlich als virtueller Interruptkontroller betrachtet werden.
+Sie organisiert das System in verschiedenen Domains. Interrupts werden von
+IPIPE entgegengenommen und an die einzelnen Domains verteilt.
+Nucleus beeinhaltet die Xenomai Core Funktionalität. Dieser ist zuständig dafür,
+alle notwendigen Resourcen bereitzustellen, die Skins benötigen, um die Funktionalität
+von RTOSsen nachbilden zu können. Der Hardware Abstraction Layer beinhaltet
+den Plattform und CPU abhängigen Code. Alle darüberliegenden Layer (darunter auch Nucleus)
+bauen darauf auf. HAL ist kombiniert mit dem System Abstraction Layer. Dieser
+soll die darüberliegenden Layer, wie z.B. Nucleus, noch portierbarer machen.
+Abbildung \ref{img:xenomai} zeigt das technische Zusammenspiel der Xenomai
+Komponenten. Abbildung \ref{img:ipipe} zeigt die Funktionsweise von IPIPE.
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/xenomai.png}
+\caption{Technischer Aufbau von Xenomai}
+\label{img:xenomai}
+\end{figure}
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/ipipe.png}
+\caption{Technische Funktionsweise von IPIPE}
+\label{img:ipipe}
+\end{figure}
+
+\subsubsection*{Preempt RT}
+Der Realtime Preemption Patch entstand ursprünglich aus Arbeiten von Ingo Molnar
+und Thomas Gleixner. Beide sind bis zum heutigen Zeitpunkt die treibenden Kräfte
+bei der Entwicklung von Preempt RT.
+Im Gegensatz zu RTAI und Xenomai macht Preempt RT den Linux Kernel an sich
+echtzeitfähig. Dies wird im Besonderen durch folgende Mechanismen erreicht:
+\begin{itemize}
+\item Sleeping Spinlocks: Spinlocks werden durch RT Mutexe ersetzt. Raw
+Spinlocks ersetzen die Eigenschaft der ursprünglichen Spinlocks.
+\item Threaded Interrupt Handlers: Interrupt Handler laufen per Default nicht im
+harten Interruptkontext, sondern als Kernelthread.
+\end{itemize}
+Viele Mechanismen, die ursprünglich in Preempt RT entwickelt wurden, haben
+bereits Ihren Weg in den Mainline Linuxzweig gefunden: High Resolution Timer
+(Hochauflösende Timer unabhängig vom Scheduler Tick), Priority Inheritance,
+generisches Interrupthandling für alle Architekturen und mit 2.6.30 nun auch die
+Threaded Interrupt Handler.
+Weiterhin hat sich die Linux Entwicklergemeinde bereits 2006 darauf geeinigt,
+daß Preempt RT in den Linux Kernel integriert wird. Weiterhin bietet der
+Realtime Preemption Patch den großen Vorteil, daß Echtzeitapplikationen als POSIX
+Realtime Applikationen geschrieben werden. Es wird keine spezielle API
+verwendet. Preempt RT Unterstützt eine Vielzahl von Architekturen (PowerPc, x86,
+x86\_64, MIPS, ARM, ...).
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/preempt_rt.png}
+\caption{Überblick Preempt RT}
+\label{img:preempt_rt}
+\end{figure}
+Wie Abbildung \ref{img:preempt_rt} zeigt, integriert Preempt RT die
+Echtzeitfunktionalität ''nahtlos'' in den Linux Kernel. Auch die Entwickler
+anderer Projekte haben die Vorzüge von Preempt RT bereits erkannt. Die Roadmap
+für Xenomai 3 sieht Preempt RT Support vor. Dies würde den Einsatz von Xenomai
+Skins auf Preempt RT Kerneln ermgöglichen.
+
+\subsection*{Kontrollfragen}
+
+\begin{enumerate}
+\item Was sind die wichtigsten Anforderungen an ein Echtzeitsystem?
+\item Welche beiden Ansätze gibt es, um Linux echtzeitfähig zu machen?
+\item Was sind die bekanntesten Vertreter für Echtzeitlinux und welche der oben
+beschriebenen Ansätze verfolgen Sie?
+\item Wird für das Schreiben einer Echtzeitapplikation mit Preempt RT eine
+spezielle API benötigt?
+\end{enumerate}
\end{document}
diff --git a/realtime/rt-basics/hints_rt-basics_de.tex b/realtime/rt-basics/hints_rt-basics_de.tex
index fd15c6e..11c5c34 100644
--- a/realtime/rt-basics/hints_rt-basics_de.tex
+++ b/realtime/rt-basics/hints_rt-basics_de.tex
@@ -1,17 +1,18 @@
-\documentclass{article}
+\documentclass{lxarticle}
\usepackage{german}
\usepackage[utf8]{inputenc}
+\usepackage{lxheaders}
+\usepackage{lxextras}
\begin{document}
-\section*{Block \lq Grundlagen Realtime\rq}
+\section*{Block \lq Was ist Linux?\rq}
\subsection*{Lernziele}
\begin{itemize}
-\item Kennenlernen der verschiedenen Ansätze (RTAI, Xenomai, RT-Preempt)
-\item Kennenlernen der Funktion von RT-Preempt
-\item Verstehen, wie der RT-Preempt-Patch beschafft und angewendet werden kann
-\item Anwendungen, Grenzen, Geschichte von RT-Preempt
+\item Lernziel 1
+\item Lernziel 2
+\item Lernziel 3
\end{itemize}
\subsection*{Unterrichts-Ablauf}
diff --git a/realtime/rt-basics/images/dual_kernel.png b/realtime/rt-basics/images/dual_kernel.png
new file mode 100644
index 0000000..c58d156
--- /dev/null
+++ b/realtime/rt-basics/images/dual_kernel.png
Binary files differ
diff --git a/realtime/rt-basics/images/dual_kernel.svg b/realtime/rt-basics/images/dual_kernel.svg
new file mode 100644
index 0000000..31f80ec
--- /dev/null
+++ b/realtime/rt-basics/images/dual_kernel.svg
@@ -0,0 +1,251 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg3367"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="dual_kernel.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/jan/work/omnicron/schulung/realtime/rt-basics/images/dual_kernel.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs3369">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3375" />
+ <inkscape:perspective
+ id="perspective3442"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3230" />
+ <inkscape:perspective
+ id="perspective10"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.7"
+ inkscape:cx="285.06246"
+ inkscape:cy="582.52552"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1024"
+ inkscape:window-height="694"
+ inkscape:window-x="0"
+ inkscape:window-y="-60" />
+ <metadata
+ id="metadata3372">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Ebene 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <rect
+ style="fill:#fc7100;fill-opacity:1;stroke:#000000;stroke-width:1.60000002;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3448"
+ width="474.28571"
+ height="84.285713"
+ x="91.428574"
+ y="574.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="237.14285"
+ y="634.36218"
+ id="text3377"><tspan
+ sodipodi:role="line"
+ id="tspan3379"
+ x="237.14285"
+ y="634.36218">Hardware</tspan></text>
+ <image
+ y="156.14793"
+ x="212.8571"
+ id="image3444"
+ height="257.28574"
+ width="237.14284"
+ sodipodi:absref="/home/jan/work/omnicron/tmp/tux_huge.png"
+ xlink:href="/home/jan/work/omnicron/tmp/tux_huge.png" />
+ <rect
+ style="fill:#fc7100;fill-opacity:1;stroke:#000000;stroke-width:2.17993641;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3450"
+ width="602.27716"
+ height="63.705776"
+ x="28.861397"
+ y="465.2236" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="217.14285"
+ y="511.21933"
+ id="text3452"><tspan
+ sodipodi:role="line"
+ id="tspan3454"
+ x="217.14285"
+ y="511.21933">Micro Kernel</tspan></text>
+ <g
+ transform="matrix(0.6623212,0,0,0.6661406,103.9692,395.35442)"
+ id="g3519"
+ inkscape:label="Calque 1">
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ id="g3252">
+ <path
+ sodipodi:type="star"
+ style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:27.82019997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:24.29999924;stroke-dasharray:none;stroke-opacity:1"
+ id="path2383"
+ sodipodi:sides="3"
+ sodipodi:cx="191.09729"
+ sodipodi:cy="183.1349"
+ sodipodi:r1="187.79253"
+ sodipodi:r2="93.896263"
+ sodipodi:arg1="0.52359878"
+ sodipodi:arg2="1.5707963"
+ inkscape:flatsided="false"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="M 353.73039,277.03117 L 191.09729,277.03117 L 28.464191,277.03117 L 109.78074,136.18677 L 191.09729,-4.6576233 L 272.41384,136.18677 L 353.73039,277.03117 z"
+ transform="matrix(0.35945,0,0,0.35945,28.8492,30.1932)" />
+ <g
+ id="g3163"
+ transform="translate(-0.510735,-1.02147)">
+ <path
+ id="path3155"
+ d="M 94.9375,108.40625 C 94.290019,108.49207 93.517293,108.86225 92.914114,109.2178 C 92.310935,109.57335 91.770059,109.9684 91.3641,110.47287 C 90.958141,110.97733 90.867103,111.63392 90.72033,112.21243 C 90.573557,112.79094 90.525438,113.26403 90.78125,113.90625 C 91.037062,114.54847 91.509887,115.41161 92.055252,115.93025 C 92.600617,116.44889 92.987635,116.9934 93.711376,117.22111 C 94.435117,117.44881 95.279851,117.7648 96,117.875 C 96.720149,117.9852 97.25089,117.77544 97.962055,117.59387 C 98.67322,117.4123 99.587555,117.07103 100.18371,116.67654 C 100.77986,116.28205 101.11025,115.82907 101.4724,115.36585 C 101.83455,114.90263 101.94155,114.45667 101.97237,113.8935 C 102.00319,113.33033 101.88899,112.7735 101.48418,112.24977 C 101.07937,111.72604 100.64982,111.06226 100.17793,110.52197 C 99.706043,109.98168 99.142309,109.4912 98.534118,109.19736 C 97.925927,108.90352 97.23572,108.65607 96.630291,108.50605 C 96.024862,108.35603 95.584981,108.32043 94.9375,108.40625 z"
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ transform="matrix(1.41667,0,0,1.57627,-38.6775,-62.2193)"
+ sodipodi:nodetypes="czzzzzzzzzzzzzzzz" />
+ <path
+ id="path3157"
+ d="M 95.757212,60.26801 C 94.839875,60.407623 93.290633,60.580795 92.160034,60.92426 C 91.029435,61.267725 89.911438,61.914443 89.056586,63.01801 C 88.201734,64.121577 87.553727,65.489742 87.081665,67.17426 C 86.609604,68.858778 86.309324,70.138052 86.376336,72.54926 C 86.443347,74.960468 86.871609,78.248439 87.363796,81.26801 C 87.855982,84.287581 88.351917,87.858919 88.986053,90.86176 C 89.620189,93.864601 90.703057,96.535287 91.517717,98.646292 C 92.332377,100.7573 93.087791,102.49111 93.836704,103.50233 C 94.585617,104.51355 94.896259,104.9036 95.686679,105.33051 C 96.477099,105.75742 97.567003,106.06303 98.522102,105.98676 C 99.477201,105.91049 100.41608,104.41885 101.13839,103.59677 C 101.8607,102.77469 102.88842,99.504338 103.69761,96.48345 C 104.5068,93.462561 105.30597,91.53964 106.35271,86.599296 C 107.39945,81.658952 108.47781,74.293841 108.97508,71.01801 C 109.47234,67.742179 109.22234,67.929863 108.72878,66.467389 C 108.23521,65.004915 107.35398,64.101592 106.50643,63.26801 C 105.65887,62.434428 105.19482,61.932957 103.70986,61.473812 C 102.2249,61.014666 101.16364,60.702221 99.837564,60.539052 C 98.511488,60.375883 96.674549,60.128397 95.757212,60.26801 z"
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ sodipodi:nodetypes="czzzzzzzzzzzzzzzzzzz" />
+ </g>
+ </g>
+ </g>
+ <g
+ transform="matrix(0.6623212,0,0,0.6661406,262.54063,386.49727)"
+ id="g3526"
+ inkscape:label="Calque 1">
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ id="g3528">
+ <path
+ sodipodi:type="star"
+ style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:27.82019997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:24.29999924;stroke-dasharray:none;stroke-opacity:1"
+ id="path3530"
+ sodipodi:sides="3"
+ sodipodi:cx="191.09729"
+ sodipodi:cy="183.1349"
+ sodipodi:r1="187.79253"
+ sodipodi:r2="93.896263"
+ sodipodi:arg1="0.52359878"
+ sodipodi:arg2="1.5707963"
+ inkscape:flatsided="false"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="M 353.73039,277.03117 L 191.09729,277.03117 L 28.464191,277.03117 L 109.78074,136.18677 L 191.09729,-4.6576233 L 272.41384,136.18677 L 353.73039,277.03117 z"
+ transform="matrix(0.35945,0,0,0.35945,28.8492,30.1932)" />
+ <g
+ id="g3532"
+ transform="translate(-0.510735,-1.02147)">
+ <path
+ id="path3534"
+ d="M 94.9375,108.40625 C 94.290019,108.49207 93.517293,108.86225 92.914114,109.2178 C 92.310935,109.57335 91.770059,109.9684 91.3641,110.47287 C 90.958141,110.97733 90.867103,111.63392 90.72033,112.21243 C 90.573557,112.79094 90.525438,113.26403 90.78125,113.90625 C 91.037062,114.54847 91.509887,115.41161 92.055252,115.93025 C 92.600617,116.44889 92.987635,116.9934 93.711376,117.22111 C 94.435117,117.44881 95.279851,117.7648 96,117.875 C 96.720149,117.9852 97.25089,117.77544 97.962055,117.59387 C 98.67322,117.4123 99.587555,117.07103 100.18371,116.67654 C 100.77986,116.28205 101.11025,115.82907 101.4724,115.36585 C 101.83455,114.90263 101.94155,114.45667 101.97237,113.8935 C 102.00319,113.33033 101.88899,112.7735 101.48418,112.24977 C 101.07937,111.72604 100.64982,111.06226 100.17793,110.52197 C 99.706043,109.98168 99.142309,109.4912 98.534118,109.19736 C 97.925927,108.90352 97.23572,108.65607 96.630291,108.50605 C 96.024862,108.35603 95.584981,108.32043 94.9375,108.40625 z"
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ transform="matrix(1.41667,0,0,1.57627,-38.6775,-62.2193)"
+ sodipodi:nodetypes="czzzzzzzzzzzzzzzz" />
+ <path
+ id="path3536"
+ d="M 95.757212,60.26801 C 94.839875,60.407623 93.290633,60.580795 92.160034,60.92426 C 91.029435,61.267725 89.911438,61.914443 89.056586,63.01801 C 88.201734,64.121577 87.553727,65.489742 87.081665,67.17426 C 86.609604,68.858778 86.309324,70.138052 86.376336,72.54926 C 86.443347,74.960468 86.871609,78.248439 87.363796,81.26801 C 87.855982,84.287581 88.351917,87.858919 88.986053,90.86176 C 89.620189,93.864601 90.703057,96.535287 91.517717,98.646292 C 92.332377,100.7573 93.087791,102.49111 93.836704,103.50233 C 94.585617,104.51355 94.896259,104.9036 95.686679,105.33051 C 96.477099,105.75742 97.567003,106.06303 98.522102,105.98676 C 99.477201,105.91049 100.41608,104.41885 101.13839,103.59677 C 101.8607,102.77469 102.88842,99.504338 103.69761,96.48345 C 104.5068,93.462561 105.30597,91.53964 106.35271,86.599296 C 107.39945,81.658952 108.47781,74.293841 108.97508,71.01801 C 109.47234,67.742179 109.22234,67.929863 108.72878,66.467389 C 108.23521,65.004915 107.35398,64.101592 106.50643,63.26801 C 105.65887,62.434428 105.19482,61.932957 103.70986,61.473812 C 102.2249,61.014666 101.16364,60.702221 99.837564,60.539052 C 98.511488,60.375883 96.674549,60.128397 95.757212,60.26801 z"
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ sodipodi:nodetypes="czzzzzzzzzzzzzzzzzzz" />
+ </g>
+ </g>
+ </g>
+ <g
+ transform="matrix(0.6623212,0,0,0.6661406,442.54063,461.0687)"
+ id="g3538"
+ inkscape:label="Calque 1">
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ id="g3540">
+ <path
+ sodipodi:type="star"
+ style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:27.82019997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:24.29999924;stroke-dasharray:none;stroke-opacity:1"
+ id="path3542"
+ sodipodi:sides="3"
+ sodipodi:cx="191.09729"
+ sodipodi:cy="183.1349"
+ sodipodi:r1="187.79253"
+ sodipodi:r2="93.896263"
+ sodipodi:arg1="0.52359878"
+ sodipodi:arg2="1.5707963"
+ inkscape:flatsided="false"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="M 353.73039,277.03117 L 191.09729,277.03117 L 28.464191,277.03117 L 109.78074,136.18677 L 191.09729,-4.6576233 L 272.41384,136.18677 L 353.73039,277.03117 z"
+ transform="matrix(0.35945,0,0,0.35945,28.8492,30.1932)" />
+ <g
+ id="g3544"
+ transform="translate(-0.510735,-1.02147)">
+ <path
+ id="path3546"
+ d="M 94.9375,108.40625 C 94.290019,108.49207 93.517293,108.86225 92.914114,109.2178 C 92.310935,109.57335 91.770059,109.9684 91.3641,110.47287 C 90.958141,110.97733 90.867103,111.63392 90.72033,112.21243 C 90.573557,112.79094 90.525438,113.26403 90.78125,113.90625 C 91.037062,114.54847 91.509887,115.41161 92.055252,115.93025 C 92.600617,116.44889 92.987635,116.9934 93.711376,117.22111 C 94.435117,117.44881 95.279851,117.7648 96,117.875 C 96.720149,117.9852 97.25089,117.77544 97.962055,117.59387 C 98.67322,117.4123 99.587555,117.07103 100.18371,116.67654 C 100.77986,116.28205 101.11025,115.82907 101.4724,115.36585 C 101.83455,114.90263 101.94155,114.45667 101.97237,113.8935 C 102.00319,113.33033 101.88899,112.7735 101.48418,112.24977 C 101.07937,111.72604 100.64982,111.06226 100.17793,110.52197 C 99.706043,109.98168 99.142309,109.4912 98.534118,109.19736 C 97.925927,108.90352 97.23572,108.65607 96.630291,108.50605 C 96.024862,108.35603 95.584981,108.32043 94.9375,108.40625 z"
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ transform="matrix(1.41667,0,0,1.57627,-38.6775,-62.2193)"
+ sodipodi:nodetypes="czzzzzzzzzzzzzzzz" />
+ <path
+ id="path3548"
+ d="M 95.757212,60.26801 C 94.839875,60.407623 93.290633,60.580795 92.160034,60.92426 C 91.029435,61.267725 89.911438,61.914443 89.056586,63.01801 C 88.201734,64.121577 87.553727,65.489742 87.081665,67.17426 C 86.609604,68.858778 86.309324,70.138052 86.376336,72.54926 C 86.443347,74.960468 86.871609,78.248439 87.363796,81.26801 C 87.855982,84.287581 88.351917,87.858919 88.986053,90.86176 C 89.620189,93.864601 90.703057,96.535287 91.517717,98.646292 C 92.332377,100.7573 93.087791,102.49111 93.836704,103.50233 C 94.585617,104.51355 94.896259,104.9036 95.686679,105.33051 C 96.477099,105.75742 97.567003,106.06303 98.522102,105.98676 C 99.477201,105.91049 100.41608,104.41885 101.13839,103.59677 C 101.8607,102.77469 102.88842,99.504338 103.69761,96.48345 C 104.5068,93.462561 105.30597,91.53964 106.35271,86.599296 C 107.39945,81.658952 108.47781,74.293841 108.97508,71.01801 C 109.47234,67.742179 109.22234,67.929863 108.72878,66.467389 C 108.23521,65.004915 107.35398,64.101592 106.50643,63.26801 C 105.65887,62.434428 105.19482,61.932957 103.70986,61.473812 C 102.2249,61.014666 101.16364,60.702221 99.837564,60.539052 C 98.511488,60.375883 96.674549,60.128397 95.757212,60.26801 z"
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ sodipodi:nodetypes="czzzzzzzzzzzzzzzzzzz" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/realtime/rt-basics/images/gpos_vs_rt.png b/realtime/rt-basics/images/gpos_vs_rt.png
new file mode 100644
index 0000000..07a4a79
--- /dev/null
+++ b/realtime/rt-basics/images/gpos_vs_rt.png
Binary files differ
diff --git a/realtime/rt-basics/images/gpos_vs_rt.svg b/realtime/rt-basics/images/gpos_vs_rt.svg
new file mode 100644
index 0000000..7862037
--- /dev/null
+++ b/realtime/rt-basics/images/gpos_vs_rt.svg
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="gpos_vs_rt.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/jan/work/omnicron/schulung/realtime/rt-basics/images/gpos_vs_rt.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2447"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3230" />
+ <inkscape:perspective
+ id="perspective3357"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.7"
+ inkscape:cx="486.9722"
+ inkscape:cy="699.91284"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1024"
+ inkscape:window-height="694"
+ inkscape:window-x="0"
+ inkscape:window-y="-60" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Ebene 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <image
+ y="58.076473"
+ x="137.14288"
+ id="image2449"
+ height="400"
+ width="420"
+ sodipodi:absref="/home/jan/work/omnicron/tmp/221401waage_517.jpg"
+ xlink:href="/home/jan/work/omnicron/tmp/221401waage_517.jpg" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="565.14288"
+ y="208.07646"
+ id="text2453"><tspan
+ sodipodi:role="line"
+ id="tspan2455"
+ x="565.14288"
+ y="208.07646"
+ style="font-size:32px;text-align:center;text-anchor:middle">Realtime</tspan><tspan
+ sodipodi:role="line"
+ x="565.14288"
+ y="248.07646"
+ id="tspan2457"
+ style="font-size:32px;text-align:center;text-anchor:middle">Operating System</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="169.57031"
+ y="210.39732"
+ id="text2459"><tspan
+ sodipodi:role="line"
+ id="tspan2461"
+ x="169.57031"
+ y="210.39732"
+ style="font-size:32px;text-align:center;text-anchor:middle">General Purpose</tspan><tspan
+ sodipodi:role="line"
+ x="169.57031"
+ y="250.39732"
+ id="tspan2463"
+ style="font-size:32px;text-align:center;text-anchor:middle">Operating System</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.47621512;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 15.652393,155.44315 L 15.652393,269.85264 L 331.49046,265.56229 L 331.49046,158.30338 L 331.49046,158.30338 L 331.49046,162.59374"
+ id="path2465" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.45622063;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 410.78525,152.57601 L 410.78525,267.0055 L 718.0719,262.7144 L 718.0719,155.43674 L 718.0719,155.43674 L 718.0719,159.72785"
+ id="path3237" />
+ </g>
+</svg>
diff --git a/realtime/rt-basics/images/ipipe.png b/realtime/rt-basics/images/ipipe.png
new file mode 100644
index 0000000..b7468fa
--- /dev/null
+++ b/realtime/rt-basics/images/ipipe.png
Binary files differ
diff --git a/realtime/rt-basics/images/ipipe.svg b/realtime/rt-basics/images/ipipe.svg
new file mode 100644
index 0000000..cc7baa9
--- /dev/null
+++ b/realtime/rt-basics/images/ipipe.svg
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="ipipe.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/jan/work/omnicron/schulung/realtime/rt-basics/images/xenomai.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lend"
+ style="overflow:visible;">
+ <path
+ id="path3854"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="336.82532"
+ inkscape:cy="280.92561"
+ inkscape:document-units="px"
+ inkscape:current-layer="g3159"
+ showgrid="false"
+ inkscape:window-width="906"
+ inkscape:window-height="694"
+ inkscape:window-x="88"
+ inkscape:window-y="-41" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Ebene 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <g
+ id="g3159"
+ transform="matrix(1.1055858,0,0,1.0705292,-68.76791,-183.84127)">
+ <rect
+ y="804.67487"
+ x="202.62572"
+ height="128.83612"
+ width="371.50049"
+ id="rect3157"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:1.10543263;stroke-opacity:1"
+ transform="matrix(0.9999966,2.6189089e-3,0,1,0,0)" />
+ <text
+ id="text2383"
+ y="884.51947"
+ x="219.0838"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="884.51947"
+ x="219.0838"
+ id="tspan2385"
+ sodipodi:role="line">Xenomai Domain</tspan></text>
+ <rect
+ y="612.91962"
+ x="202.97916"
+ height="130.6824"
+ width="371.49274"
+ id="rect3325"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:1.11331356;stroke-opacity:1"
+ transform="matrix(0.9999965,2.6564951e-3,0,1,0,0)" />
+ <text
+ id="text3327"
+ y="694.63696"
+ x="250.1862"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="694.63696"
+ x="250.1862"
+ id="tspan3329"
+ sodipodi:role="line">Linux Domain</tspan></text>
+ <rect
+ y="993.10321"
+ x="203.88388"
+ height="130.6824"
+ width="371.49274"
+ id="rect3331"
+ style="fill:#ecfc00;fill-opacity:1;stroke:#000000;stroke-width:1.11331355999999992;stroke-opacity:1"
+ transform="matrix(0.9999965,2.656493e-3,0,1,0,0)" />
+ <text
+ id="text3333"
+ y="1074.8231"
+ x="298.12457"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="1074.8231"
+ x="298.12457"
+ id="tspan3335"
+ sodipodi:role="line">Interrupts</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;marker-start:none;marker-end:url(#Arrow1Lend)"
+ d="M 253,879.36218 C 253,816.36218 253,816.36218 253,816.36218"
+ id="path3337"
+ transform="matrix(0.9044979,0,0,0.9341174,62.200428,171.72934)" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.91918838px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+ d="M 347.11695,993.62386 C 347.11695,934.77446 347.11695,934.77446 347.11695,934.77446"
+ id="path4626" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="347"
+ y="851.36218"
+ id="text4628"
+ transform="matrix(0.9044979,0,0,0.9341174,62.200428,171.72934)"><tspan
+ sodipodi:role="line"
+ id="tspan4630"
+ x="347"
+ y="851.36218">.....</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.91918838px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+ d="M 459.27506,992.68977 C 459.27506,933.84037 459.27506,933.84037 459.27506,933.84037"
+ id="path4632" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.91918838px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+ d="M 291.91302,805.86818 C 291.91302,747.01782 291.91302,747.01782 291.91302,747.01782"
+ id="path4634" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.91918838px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+ d="M 347.99157,806.33518 C 347.99157,747.48482 347.99157,747.48482 347.99157,747.48482"
+ id="path4636" />
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="383.05804"
+ y="767.24927"
+ id="text4638"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan4640"
+ x="383.05804"
+ y="767.24927">.....</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.91918838px;stroke-linecap:butt;stroke-linejoin:miter;marker-start:none;marker-end:url(#Arrow1Lend);stroke-opacity:1"
+ d="M 460.14968,805.40105 C 460.14968,746.55072 460.14968,746.55072 460.14968,746.55072"
+ id="path4642" />
+ </g>
+ </g>
+</svg>
diff --git a/realtime/rt-basics/images/mar01.png b/realtime/rt-basics/images/mar01.png
new file mode 100644
index 0000000..7f18317
--- /dev/null
+++ b/realtime/rt-basics/images/mar01.png
Binary files differ
diff --git a/realtime/rt-basics/images/mar01.svg b/realtime/rt-basics/images/mar01.svg
new file mode 100644
index 0000000..78d99db
--- /dev/null
+++ b/realtime/rt-basics/images/mar01.svg
@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg3840"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="mar01.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs3842">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3848" />
+ <inkscape:perspective
+ id="perspective4064"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4094"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4161"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4228"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.7"
+ inkscape:cx="263.27793"
+ inkscape:cy="709.64957"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1024"
+ inkscape:window-height="694"
+ inkscape:window-x="24"
+ inkscape:window-y="-27" />
+ <metadata
+ id="metadata3845">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Ebene 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <image
+ y="39.862186"
+ x="117.71429"
+ id="image4066"
+ height="201"
+ width="60"
+ sodipodi:absref="/tmp/ocal-ZPHSVU-Anonymous_Groom.png"
+ xlink:href="/tmp/ocal-ZPHSVU-Anonymous_Groom.png" />
+ <image
+ y="93.076469"
+ x="410.64285"
+ id="image4163"
+ height="134"
+ width="217"
+ sodipodi:absref="/home/jan/work/omnicron/tmp/rtai.jpg"
+ xlink:href="/home/jan/work/omnicron/tmp/rtai.jpg" />
+ <image
+ y="50.076473"
+ x="558.64288"
+ id="image4096"
+ height="200"
+ width="141"
+ sodipodi:absref="/tmp/ocal-FKLEVU-Anonymous_Bride.png"
+ xlink:href="/tmp/ocal-FKLEVU-Anonymous_Bride.png" />
+ <image
+ y="183.64789"
+ x="47.071484"
+ id="image4230"
+ height="44.857128"
+ width="308.42877"
+ sodipodi:absref="/home/jan/work/omnicron/tmp/Xenomai.png"
+ xlink:href="/home/jan/work/omnicron/tmp/Xenomai.png" />
+ </g>
+</svg>
diff --git a/realtime/rt-basics/images/mar02.png b/realtime/rt-basics/images/mar02.png
new file mode 100644
index 0000000..f1f53a1
--- /dev/null
+++ b/realtime/rt-basics/images/mar02.png
Binary files differ
diff --git a/realtime/rt-basics/images/mar02.svg b/realtime/rt-basics/images/mar02.svg
new file mode 100644
index 0000000..3c9ac3a
--- /dev/null
+++ b/realtime/rt-basics/images/mar02.svg
@@ -0,0 +1,158 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg3840"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="mar02.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/jan/work/omnicron/schulung/realtime/rt-basics/images/mar01.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs3842">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3848" />
+ <inkscape:perspective
+ id="perspective4064"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4094"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4161"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4228"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4329"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.7"
+ inkscape:cx="263.27793"
+ inkscape:cy="709.64957"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1024"
+ inkscape:window-height="694"
+ inkscape:window-x="24"
+ inkscape:window-y="-27" />
+ <metadata
+ id="metadata3845">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Ebene 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <image
+ y="39.862186"
+ x="117.71429"
+ id="image4066"
+ height="201"
+ width="60"
+ sodipodi:absref="/tmp/ocal-ZPHSVU-Anonymous_Groom.png"
+ xlink:href="/tmp/ocal-ZPHSVU-Anonymous_Groom.png" />
+ <image
+ y="93.076469"
+ x="410.64285"
+ id="image4163"
+ height="134"
+ width="217"
+ sodipodi:absref="/home/jan/work/omnicron/tmp/rtai.jpg"
+ xlink:href="/home/jan/work/omnicron/tmp/rtai.jpg" />
+ <image
+ y="50.076473"
+ x="558.64288"
+ id="image4096"
+ height="200"
+ width="141"
+ sodipodi:absref="/tmp/ocal-FKLEVU-Anonymous_Bride.png"
+ xlink:href="/tmp/ocal-FKLEVU-Anonymous_Bride.png" />
+ <image
+ y="183.64789"
+ x="47.071484"
+ id="image4230"
+ height="44.857128"
+ width="308.42877"
+ sodipodi:absref="/home/jan/work/omnicron/tmp/Xenomai.png"
+ xlink:href="/home/jan/work/omnicron/tmp/Xenomai.png" />
+ <image
+ y="281.2908"
+ x="249.28574"
+ id="image4331"
+ height="107.85714"
+ width="144.28572"
+ sodipodi:absref="/tmp/ocal-5YSIVU-freedo_Wedding_Ring.png"
+ xlink:href="/tmp/ocal-5YSIVU-freedo_Wedding_Ring.png" />
+ <image
+ y="264.14792"
+ x="317.85712"
+ id="image4335"
+ height="107.85714"
+ width="144.28572"
+ sodipodi:absref="/tmp/ocal-5YSIVU-freedo_Wedding_Ring.png"
+ xlink:href="/tmp/ocal-5YSIVU-freedo_Wedding_Ring.png" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="220"
+ y="433.79074"
+ id="text4337"><tspan
+ sodipodi:role="line"
+ id="tspan4339"
+ x="220"
+ y="433.79074">RTAI / Fusion</tspan></text>
+ </g>
+</svg>
diff --git a/realtime/rt-basics/images/mar03.png b/realtime/rt-basics/images/mar03.png
new file mode 100644
index 0000000..97ab7ba
--- /dev/null
+++ b/realtime/rt-basics/images/mar03.png
Binary files differ
diff --git a/realtime/rt-basics/images/mar03.svg b/realtime/rt-basics/images/mar03.svg
new file mode 100644
index 0000000..71e98ae
--- /dev/null
+++ b/realtime/rt-basics/images/mar03.svg
@@ -0,0 +1,163 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg3840"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="mar03.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/jan/work/omnicron/schulung/realtime/rt-basics/images/mar03.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs3842">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3848" />
+ <inkscape:perspective
+ id="perspective4064"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4094"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4161"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4228"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4329"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4473"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.7"
+ inkscape:cx="263.27793"
+ inkscape:cy="709.64957"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1024"
+ inkscape:window-height="694"
+ inkscape:window-x="24"
+ inkscape:window-y="-27" />
+ <metadata
+ id="metadata3845">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Ebene 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <image
+ y="39.862186"
+ x="117.71429"
+ id="image4066"
+ height="201"
+ width="60"
+ sodipodi:absref="/tmp/ocal-ZPHSVU-Anonymous_Groom.png"
+ xlink:href="/tmp/ocal-ZPHSVU-Anonymous_Groom.png" />
+ <image
+ y="93.076469"
+ x="410.64285"
+ id="image4163"
+ height="134"
+ width="217"
+ sodipodi:absref="/home/jan/work/omnicron/tmp/rtai.jpg"
+ xlink:href="/home/jan/work/omnicron/tmp/rtai.jpg" />
+ <image
+ y="50.076473"
+ x="558.64288"
+ id="image4096"
+ height="200"
+ width="141"
+ sodipodi:absref="/tmp/ocal-FKLEVU-Anonymous_Bride.png"
+ xlink:href="/tmp/ocal-FKLEVU-Anonymous_Bride.png" />
+ <image
+ y="183.64789"
+ x="47.071484"
+ id="image4230"
+ height="44.857128"
+ width="308.42877"
+ sodipodi:absref="/home/jan/work/omnicron/tmp/Xenomai.png"
+ xlink:href="/home/jan/work/omnicron/tmp/Xenomai.png" />
+ <image
+ y="332.71936"
+ x="190.71431"
+ id="image4331"
+ height="107.85714"
+ width="144.28572"
+ sodipodi:absref="/tmp/ocal-5YSIVU-freedo_Wedding_Ring.png"
+ xlink:href="/tmp/ocal-5YSIVU-freedo_Wedding_Ring.png" />
+ <image
+ y="272.71933"
+ x="377.85712"
+ id="image4335"
+ height="107.85714"
+ width="144.28572"
+ sodipodi:absref="/tmp/ocal-5YSIVU-freedo_Wedding_Ring.png"
+ xlink:href="/tmp/ocal-5YSIVU-freedo_Wedding_Ring.png" />
+ <image
+ y="280.14789"
+ x="291.5"
+ id="image4475"
+ height="133"
+ width="137"
+ sodipodi:absref="/tmp/ocal-5MEMVU-spite_overcloud_thunder.png"
+ xlink:href="/tmp/ocal-5MEMVU-spite_overcloud_thunder.png" />
+ </g>
+</svg>
diff --git a/realtime/rt-basics/images/nuclear.png b/realtime/rt-basics/images/nuclear.png
new file mode 100644
index 0000000..a434e91
--- /dev/null
+++ b/realtime/rt-basics/images/nuclear.png
Binary files differ
diff --git a/realtime/rt-basics/images/preempt_rt.png b/realtime/rt-basics/images/preempt_rt.png
new file mode 100644
index 0000000..463673f
--- /dev/null
+++ b/realtime/rt-basics/images/preempt_rt.png
Binary files differ
diff --git a/realtime/rt-basics/images/preempt_rt.svg b/realtime/rt-basics/images/preempt_rt.svg
new file mode 100644
index 0000000..a9c0ac7
--- /dev/null
+++ b/realtime/rt-basics/images/preempt_rt.svg
@@ -0,0 +1,254 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="preempt_rt.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/jan/work/omnicron/schulung/realtime/rt-basics/images/preempt_rt.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lend"
+ style="overflow:visible;">
+ <path
+ id="path3854"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.70710678"
+ inkscape:cx="437.82107"
+ inkscape:cy="620.16427"
+ inkscape:document-units="px"
+ inkscape:current-layer="g3159"
+ showgrid="false"
+ inkscape:window-width="906"
+ inkscape:window-height="694"
+ inkscape:window-x="88"
+ inkscape:window-y="-41" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Ebene 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <g
+ id="g3159"
+ transform="matrix(1.1055858,0,0,1.0705292,-68.76791,-183.84127)">
+ <rect
+ style="fill:#00b8fc;fill-opacity:1;stroke:#000000;stroke-width:1.10370838999999998;stroke-opacity:1"
+ id="rect4714"
+ width="627.88263"
+ height="281.19434"
+ x="85.955544"
+ y="207.66618" />
+ <rect
+ style="fill:#ecfc00;fill-opacity:1;stroke:#000000;stroke-width:1.18113208;stroke-opacity:1"
+ id="rect4700"
+ width="627.80646"
+ height="322.06793"
+ x="86.633232"
+ y="488.18066" />
+ <rect
+ y="838.86499"
+ x="87.663139"
+ height="128.50444"
+ width="627.00702"
+ id="rect3157"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:1.43426394;stroke-opacity:1"
+ transform="matrix(0.9999988,1.5477038e-3,0,1,0,0)" />
+ <text
+ id="text2383"
+ y="918.14752"
+ x="304.10635"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="918.14752"
+ x="304.10635"
+ id="tspan2385"
+ sodipodi:role="line">Hardware</tspan></text>
+ <rect
+ y="658.21362"
+ x="120.17767"
+ height="130.42729"
+ width="560.55804"
+ id="rect3325"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:1.36624408;stroke-opacity:1"
+ transform="matrix(0.9999985,1.7570719e-3,0,1,0,0)" />
+ <text
+ id="text3327"
+ y="743.21082"
+ x="335.20877"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="743.21082"
+ x="335.20877"
+ id="tspan3329"
+ sodipodi:role="line">Linux</tspan></text>
+ <rect
+ y="500.0282"
+ x="541.06018"
+ height="131.12286"
+ width="136.75529"
+ id="rect4680"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:0.67662036;stroke-opacity:1"
+ transform="matrix(0.9999738,7.2405849e-3,0,1,0,0)" />
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="619.31989"
+ y="555.37689"
+ id="text4682"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan4684"
+ x="619.31989"
+ y="555.37689"
+ style="text-align:center;text-anchor:middle">IRQ</tspan><tspan
+ sodipodi:role="line"
+ x="619.31989"
+ y="601.3363"
+ id="tspan4686"
+ style="text-align:center;text-anchor:middle">Thread</tspan></text>
+ <rect
+ y="325.95078"
+ x="124.87892"
+ height="130.9637"
+ width="208.23135"
+ id="rect4688"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:0.8344155;stroke-opacity:1"
+ transform="matrix(0.9999887,4.7494726e-3,0,1,0,0)" />
+ <text
+ id="text4690"
+ y="405.06094"
+ x="184.15723"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="405.06094"
+ x="184.15723"
+ id="tspan4692"
+ sodipodi:role="line">App</tspan></text>
+ <rect
+ y="325.59882"
+ x="354.0275"
+ height="130.74443"
+ width="331.42499"
+ id="rect4694"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:1.0518117;stroke-opacity:1"
+ transform="matrix(0.9999956,2.9790553e-3,0,1,0,0)" />
+ <text
+ id="text4696"
+ y="405.06009"
+ x="449.17447"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="405.06009"
+ x="449.17447"
+ id="tspan4698"
+ sodipodi:role="line">RT App</tspan></text>
+ <rect
+ y="500.85446"
+ x="265.56952"
+ height="131.12286"
+ width="136.75529"
+ id="rect4702"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:0.67662036;stroke-opacity:1"
+ transform="matrix(0.9999738,7.2405556e-3,0,1,0,0)" />
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="339.36279"
+ y="554.22833"
+ id="text4704"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan4706"
+ x="339.36279"
+ y="554.22833"
+ style="text-align:center;text-anchor:middle">IRQ</tspan><tspan
+ sodipodi:role="line"
+ x="339.36279"
+ y="600.18774"
+ id="tspan4708"
+ style="text-align:center;text-anchor:middle">Thread</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="446.68961"
+ y="566.89685"
+ id="text4710"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan4712"
+ x="446.68961"
+ y="566.89685">.....</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="62.225395"
+ y="400.40973"
+ id="text4716"
+ transform="matrix(0.9044979,0,0,0.9341174,62.200428,171.72934)"><tspan
+ sodipodi:role="line"
+ id="tspan4718"
+ x="62.225395"
+ y="400.40973">Kernel</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="128.20709"
+ y="252.22173"
+ id="text4720"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan4722"
+ x="128.20709"
+ y="252.22173">User</tspan></text>
+ </g>
+ </g>
+</svg>
diff --git a/realtime/rt-basics/images/prio_inv.png b/realtime/rt-basics/images/prio_inv.png
new file mode 100644
index 0000000..574afb3
--- /dev/null
+++ b/realtime/rt-basics/images/prio_inv.png
Binary files differ
diff --git a/realtime/rt-basics/images/prio_inv.svg b/realtime/rt-basics/images/prio_inv.svg
new file mode 100644
index 0000000..c655052
--- /dev/null
+++ b/realtime/rt-basics/images/prio_inv.svg
@@ -0,0 +1,207 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="297mm"
+ height="210mm"
+ id="svg4744"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="prio_inv.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/jan/work/omnicron/schulung/realtime/rt-basics/images/prio_inv.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4746">
+ <marker
+ inkscape:stockid="Arrow1Lend"
+ orient="auto"
+ refY="0.0"
+ refX="0.0"
+ id="Arrow1Lend"
+ style="overflow:visible;">
+ <path
+ id="path3854"
+ d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
+ style="fill-rule:evenodd;stroke:#000000;stroke-width:1.0pt;marker-start:none;"
+ transform="scale(0.8) rotate(180) translate(12.5,0)" />
+ </marker>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 372.04724 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="1052.3622 : 372.04724 : 1"
+ inkscape:persp3d-origin="526.18109 : 248.03149 : 1"
+ id="perspective4753" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:document-units="mm"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.61399264"
+ inkscape:cx="492.88764"
+ inkscape:cy="377.9895"
+ inkscape:current-layer="layer1"
+ id="namedview4748"
+ showgrid="false"
+ inkscape:window-width="906"
+ inkscape:window-height="694"
+ inkscape:window-x="123"
+ inkscape:window-y="-28" />
+ <metadata
+ id="metadata4750">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <rect
+ style="fill:#00b8fc;fill-opacity:1;stroke:#000000;stroke-width:0.84919637;stroke-opacity:1"
+ id="rect4755"
+ width="272.82034"
+ height="67.731445"
+ x="135.47668"
+ y="215.23705" />
+ <rect
+ style="fill:#fcfa00;fill-opacity:1;stroke:#000000;stroke-width:0.66878808;stroke-opacity:1"
+ id="rect4757"
+ width="168.76497"
+ height="67.91185"
+ x="135.4655"
+ y="309.28543" />
+ <rect
+ style="fill:#fc7100;fill-opacity:1;stroke:#000000;stroke-width:0.66878808;stroke-opacity:1"
+ id="rect4759"
+ width="168.76497"
+ height="67.91185"
+ x="136.61319"
+ y="406.2153" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.99921262;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 101.74657,494.53451 L 101.74657,196.48534"
+ id="path5270"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="13.915524"
+ y="355.52271"
+ id="text5789"><tspan
+ sodipodi:role="line"
+ id="tspan5791"
+ x="13.915524"
+ y="355.52271">Prio</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="158.2692"
+ y="262.0885"
+ id="text5793"><tspan
+ sodipodi:role="line"
+ id="tspan5795"
+ x="158.2692"
+ y="262.0885">Task 1</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="158.40906"
+ y="358.99274"
+ id="text5797"><tspan
+ sodipodi:role="line"
+ id="tspan5799"
+ x="158.40906"
+ y="358.99274">Task 2</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="159.61105"
+ y="452.56006"
+ id="text5801"><tspan
+ sodipodi:role="line"
+ id="tspan5803"
+ x="159.61105"
+ y="452.56006">Task 3</tspan></text>
+ <rect
+ style="fill:#fc7100;fill-opacity:1;stroke:#000000;stroke-width:0.66878808;stroke-opacity:1"
+ id="rect5805"
+ width="168.76497"
+ height="67.91185"
+ x="409.13431"
+ y="405.01862" />
+ <rect
+ style="fill:#fcfa00;fill-opacity:1;stroke:#000000;stroke-width:0.92613;stroke-opacity:1"
+ id="rect5807"
+ width="324.8613"
+ height="67.65451"
+ x="575.52429"
+ y="306.04123" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.75060922;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 407.64817,233.15777 L 407.42676,396.27469"
+ id="path5814"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.58791548;stroke-linecap:butt;stroke-linejoin:miter;marker-end:url(#Arrow1Lend);stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 578.18282,474.38161 L 578.18282,376.24928"
+ id="path5816"
+ sodipodi:nodetypes="cc" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="324.10812"
+ y="356.46768"
+ id="text5818"><tspan
+ sodipodi:role="line"
+ id="tspan5820"
+ x="324.10812"
+ y="356.46768">blockiert</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="586.28711"
+ y="413.35428"
+ id="text5822"><tspan
+ sodipodi:role="line"
+ id="tspan5824"
+ x="586.28711"
+ y="413.35428">unterbrochen</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="428.41046"
+ y="451.47217"
+ id="text5826"><tspan
+ sodipodi:role="line"
+ id="tspan5828"
+ x="428.41046"
+ y="451.47217">Task 3</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="670.6911"
+ y="353.93771"
+ id="text5830"><tspan
+ sodipodi:role="line"
+ id="tspan5832"
+ x="670.6911"
+ y="353.93771">Task 2</tspan></text>
+ </g>
+</svg>
diff --git a/realtime/rt-basics/images/rtai.dia b/realtime/rt-basics/images/rtai.dia
new file mode 100644
index 0000000..dedf883
--- /dev/null
+++ b/realtime/rt-basics/images/rtai.dia
Binary files differ
diff --git a/realtime/rt-basics/images/rtai.dia~ b/realtime/rt-basics/images/rtai.dia~
new file mode 100644
index 0000000..c4024ff
--- /dev/null
+++ b/realtime/rt-basics/images/rtai.dia~
Binary files differ
diff --git a/realtime/rt-basics/images/rtai.png b/realtime/rt-basics/images/rtai.png
new file mode 100644
index 0000000..c6c21ce
--- /dev/null
+++ b/realtime/rt-basics/images/rtai.png
Binary files differ
diff --git a/realtime/rt-basics/images/rtai.svg b/realtime/rt-basics/images/rtai.svg
new file mode 100644
index 0000000..39b34e4
--- /dev/null
+++ b/realtime/rt-basics/images/rtai.svg
@@ -0,0 +1,273 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="rtai.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.5"
+ inkscape:cx="713.45482"
+ inkscape:cy="537.44764"
+ inkscape:document-units="px"
+ inkscape:current-layer="g3159"
+ showgrid="false"
+ inkscape:window-width="906"
+ inkscape:window-height="694"
+ inkscape:window-x="88"
+ inkscape:window-y="-31" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Ebene 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <g
+ id="g3159"
+ transform="matrix(1.1055858,0,0,1.0705292,-68.76791,-183.84127)">
+ <rect
+ style="fill:#00c2fc;fill-opacity:1;stroke:#000000;stroke-width:0.70241845;stroke-opacity:1"
+ id="rect3228"
+ width="657.20056"
+ height="175.55843"
+ x="64.646378"
+ y="255.23193" />
+ <rect
+ style="fill:#fcf800;fill-opacity:1;stroke:#000000;stroke-width:1.02652764;stroke-opacity:1"
+ id="rect3226"
+ width="656.88165"
+ height="375.13019"
+ x="64.06218"
+ y="431.41074" />
+ <rect
+ y="806.15021"
+ x="62.441948"
+ height="76.543472"
+ width="658.19678"
+ id="rect3157"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:1.13413763;stroke-opacity:1" />
+ <text
+ id="text2383"
+ y="861.16669"
+ x="302.29761"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="861.16669"
+ x="302.29761"
+ id="tspan2385"
+ sodipodi:role="line">Hardware</tspan></text>
+ <rect
+ y="652.98529"
+ x="83.228462"
+ height="76.574478"
+ width="623.01147"
+ id="rect3164"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:1.1036309;stroke-opacity:1" />
+ <text
+ id="text3166"
+ y="705.27673"
+ x="302.23563"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="705.27673"
+ x="302.23563"
+ id="tspan3168"
+ sodipodi:role="line">RT Kernel</tspan></text>
+ <rect
+ y="521.28082"
+ x="84.68071"
+ height="77.063293"
+ width="197.03423"
+ id="rect3170"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:0.62262768;stroke-opacity:1" />
+ <text
+ id="text3176"
+ y="573.85217"
+ x="128.00005"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="573.85217"
+ x="128.00005"
+ id="tspan3178"
+ sodipodi:role="line">Linux</tspan></text>
+ <rect
+ y="522.2688"
+ x="299.24976"
+ height="77.063293"
+ width="197.03423"
+ id="rect3180"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:0.62262768;stroke-opacity:1" />
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="341.50241"
+ y="564.7182"
+ id="text3182"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan3184"
+ x="341.50241"
+ y="564.7182">RT App</tspan></text>
+ <rect
+ y="522.15295"
+ x="509.44202"
+ height="77.063293"
+ width="197.03423"
+ id="rect3186"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:0.62262768;stroke-opacity:1" />
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="555.10895"
+ y="564.60419"
+ id="text3188"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan3190"
+ x="555.10895"
+ y="564.60419">RT App</tspan></text>
+ <rect
+ y="337.62781"
+ x="85.736412"
+ height="76.947311"
+ width="276.30084"
+ id="rect3192"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:0.73675251;stroke-opacity:1" />
+ <text
+ id="text3194"
+ y="390.14197"
+ x="128.99979"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="390.14197"
+ x="128.99979"
+ id="tspan3196"
+ sodipodi:role="line">Linux App</tspan></text>
+ <rect
+ y="337.58328"
+ x="380.85403"
+ height="76.947311"
+ width="276.30084"
+ id="rect3198"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:0.73675251;stroke-opacity:1" />
+ <text
+ id="text3200"
+ y="390.09756"
+ x="424.11719"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="390.09756"
+ x="424.11719"
+ id="tspan3202"
+ sodipodi:role="line">Linux App</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.91918838px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 190.79792,651.99969 L 190.79792,598.80099 L 190.79792,598.80099"
+ id="path3206" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.91918838px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 387.76183,652.67974 L 387.76183,599.48103 L 387.76183,599.48103"
+ id="path3208" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.91918838px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 604.86584,652.817 L 604.86584,599.6183 L 604.86584,599.6183"
+ id="path3210" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.30547941px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 155.6171,521.34664 L 155.6171,414.03866 L 155.6171,414.03866"
+ id="path3212" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.16561925px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 234.83091,520.18588 L 455.83604,414.91101"
+ id="path3214" />
+ <rect
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:0.91918838;stroke-opacity:1"
+ id="rect3216"
+ width="140.17979"
+ height="44.477608"
+ x="536.05273"
+ y="446.30197" />
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="579.94427"
+ y="475.21246"
+ id="text3218"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan3220"
+ x="579.94427"
+ y="475.21246">FIFO</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.91918838px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 605.4261,521.18321 L 605.4261,489.78725"
+ id="path3222" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.91918838px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 606.27056,445.30965 L 606.27056,413.91369"
+ id="path3224" />
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="103.65495"
+ y="301.68082"
+ id="text3230"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan3232"
+ x="103.65495"
+ y="301.68082">Userspace</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="102.72641"
+ y="767.17688"
+ id="text3234"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan3236"
+ x="102.72641"
+ y="767.17688">Kernelspace</tspan></text>
+ </g>
+ </g>
+</svg>
diff --git a/realtime/rt-basics/images/single_kernel.png b/realtime/rt-basics/images/single_kernel.png
new file mode 100644
index 0000000..d398b29
--- /dev/null
+++ b/realtime/rt-basics/images/single_kernel.png
Binary files differ
diff --git a/realtime/rt-basics/images/single_kernel.svg b/realtime/rt-basics/images/single_kernel.svg
new file mode 100644
index 0000000..31a06ce
--- /dev/null
+++ b/realtime/rt-basics/images/single_kernel.svg
@@ -0,0 +1,234 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg3367"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="single_kernel.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/jan/work/omnicron/schulung/realtime/rt-basics/images/single_kernel.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs3369">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3375" />
+ <inkscape:perspective
+ id="perspective3442"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective3230" />
+ <inkscape:perspective
+ id="perspective10"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.7"
+ inkscape:cx="285.06246"
+ inkscape:cy="582.52552"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="777"
+ inkscape:window-height="694"
+ inkscape:window-x="94"
+ inkscape:window-y="0" />
+ <metadata
+ id="metadata3372">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Ebene 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <rect
+ style="fill:#fc7100;fill-opacity:1;stroke:#000000;stroke-width:1.60000002;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect3448"
+ width="474.28571"
+ height="84.285713"
+ x="91.428574"
+ y="574.36218" />
+ <text
+ xml:space="preserve"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="237.14285"
+ y="634.36218"
+ id="text3377"><tspan
+ sodipodi:role="line"
+ id="tspan3379"
+ x="237.14285"
+ y="634.36218">Hardware</tspan></text>
+ <image
+ y="289.00507"
+ x="204.28568"
+ id="image3444"
+ height="257.28574"
+ width="237.14284"
+ sodipodi:absref="/home/jan/work/omnicron/tmp/tux_huge.png"
+ xlink:href="/home/jan/work/omnicron/tmp/tux_huge.png" />
+ <g
+ transform="matrix(0.6623212,0,0,0.6661406,193.9692,368.21156)"
+ id="g3519"
+ inkscape:label="Calque 1">
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ id="g3252">
+ <path
+ sodipodi:type="star"
+ style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:27.82019997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:24.29999924;stroke-dasharray:none;stroke-opacity:1"
+ id="path2383"
+ sodipodi:sides="3"
+ sodipodi:cx="191.09729"
+ sodipodi:cy="183.1349"
+ sodipodi:r1="187.79253"
+ sodipodi:r2="93.896263"
+ sodipodi:arg1="0.52359878"
+ sodipodi:arg2="1.5707963"
+ inkscape:flatsided="false"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="M 353.73039,277.03117 L 191.09729,277.03117 L 28.464191,277.03117 L 109.78074,136.18677 L 191.09729,-4.6576233 L 272.41384,136.18677 L 353.73039,277.03117 z"
+ transform="matrix(0.35945,0,0,0.35945,28.8492,30.1932)" />
+ <g
+ id="g3163"
+ transform="translate(-0.510735,-1.02147)">
+ <path
+ id="path3155"
+ d="M 94.9375,108.40625 C 94.290019,108.49207 93.517293,108.86225 92.914114,109.2178 C 92.310935,109.57335 91.770059,109.9684 91.3641,110.47287 C 90.958141,110.97733 90.867103,111.63392 90.72033,112.21243 C 90.573557,112.79094 90.525438,113.26403 90.78125,113.90625 C 91.037062,114.54847 91.509887,115.41161 92.055252,115.93025 C 92.600617,116.44889 92.987635,116.9934 93.711376,117.22111 C 94.435117,117.44881 95.279851,117.7648 96,117.875 C 96.720149,117.9852 97.25089,117.77544 97.962055,117.59387 C 98.67322,117.4123 99.587555,117.07103 100.18371,116.67654 C 100.77986,116.28205 101.11025,115.82907 101.4724,115.36585 C 101.83455,114.90263 101.94155,114.45667 101.97237,113.8935 C 102.00319,113.33033 101.88899,112.7735 101.48418,112.24977 C 101.07937,111.72604 100.64982,111.06226 100.17793,110.52197 C 99.706043,109.98168 99.142309,109.4912 98.534118,109.19736 C 97.925927,108.90352 97.23572,108.65607 96.630291,108.50605 C 96.024862,108.35603 95.584981,108.32043 94.9375,108.40625 z"
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ transform="matrix(1.41667,0,0,1.57627,-38.6775,-62.2193)"
+ sodipodi:nodetypes="czzzzzzzzzzzzzzzz" />
+ <path
+ id="path3157"
+ d="M 95.757212,60.26801 C 94.839875,60.407623 93.290633,60.580795 92.160034,60.92426 C 91.029435,61.267725 89.911438,61.914443 89.056586,63.01801 C 88.201734,64.121577 87.553727,65.489742 87.081665,67.17426 C 86.609604,68.858778 86.309324,70.138052 86.376336,72.54926 C 86.443347,74.960468 86.871609,78.248439 87.363796,81.26801 C 87.855982,84.287581 88.351917,87.858919 88.986053,90.86176 C 89.620189,93.864601 90.703057,96.535287 91.517717,98.646292 C 92.332377,100.7573 93.087791,102.49111 93.836704,103.50233 C 94.585617,104.51355 94.896259,104.9036 95.686679,105.33051 C 96.477099,105.75742 97.567003,106.06303 98.522102,105.98676 C 99.477201,105.91049 100.41608,104.41885 101.13839,103.59677 C 101.8607,102.77469 102.88842,99.504338 103.69761,96.48345 C 104.5068,93.462561 105.30597,91.53964 106.35271,86.599296 C 107.39945,81.658952 108.47781,74.293841 108.97508,71.01801 C 109.47234,67.742179 109.22234,67.929863 108.72878,66.467389 C 108.23521,65.004915 107.35398,64.101592 106.50643,63.26801 C 105.65887,62.434428 105.19482,61.932957 103.70986,61.473812 C 102.2249,61.014666 101.16364,60.702221 99.837564,60.539052 C 98.511488,60.375883 96.674549,60.128397 95.757212,60.26801 z"
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ sodipodi:nodetypes="czzzzzzzzzzzzzzzzzzz" />
+ </g>
+ </g>
+ </g>
+ <g
+ transform="matrix(0.6623212,0,0,0.6661406,313.9692,475.0687)"
+ id="g3526"
+ inkscape:label="Calque 1">
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ id="g3528">
+ <path
+ sodipodi:type="star"
+ style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:27.82019997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:24.29999924;stroke-dasharray:none;stroke-opacity:1"
+ id="path3530"
+ sodipodi:sides="3"
+ sodipodi:cx="191.09729"
+ sodipodi:cy="183.1349"
+ sodipodi:r1="187.79253"
+ sodipodi:r2="93.896263"
+ sodipodi:arg1="0.52359878"
+ sodipodi:arg2="1.5707963"
+ inkscape:flatsided="false"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="M 353.73039,277.03117 L 191.09729,277.03117 L 28.464191,277.03117 L 109.78074,136.18677 L 191.09729,-4.6576233 L 272.41384,136.18677 L 353.73039,277.03117 z"
+ transform="matrix(0.35945,0,0,0.35945,28.8492,30.1932)" />
+ <g
+ id="g3532"
+ transform="translate(-0.510735,-1.02147)">
+ <path
+ id="path3534"
+ d="M 94.9375,108.40625 C 94.290019,108.49207 93.517293,108.86225 92.914114,109.2178 C 92.310935,109.57335 91.770059,109.9684 91.3641,110.47287 C 90.958141,110.97733 90.867103,111.63392 90.72033,112.21243 C 90.573557,112.79094 90.525438,113.26403 90.78125,113.90625 C 91.037062,114.54847 91.509887,115.41161 92.055252,115.93025 C 92.600617,116.44889 92.987635,116.9934 93.711376,117.22111 C 94.435117,117.44881 95.279851,117.7648 96,117.875 C 96.720149,117.9852 97.25089,117.77544 97.962055,117.59387 C 98.67322,117.4123 99.587555,117.07103 100.18371,116.67654 C 100.77986,116.28205 101.11025,115.82907 101.4724,115.36585 C 101.83455,114.90263 101.94155,114.45667 101.97237,113.8935 C 102.00319,113.33033 101.88899,112.7735 101.48418,112.24977 C 101.07937,111.72604 100.64982,111.06226 100.17793,110.52197 C 99.706043,109.98168 99.142309,109.4912 98.534118,109.19736 C 97.925927,108.90352 97.23572,108.65607 96.630291,108.50605 C 96.024862,108.35603 95.584981,108.32043 94.9375,108.40625 z"
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ transform="matrix(1.41667,0,0,1.57627,-38.6775,-62.2193)"
+ sodipodi:nodetypes="czzzzzzzzzzzzzzzz" />
+ <path
+ id="path3536"
+ d="M 95.757212,60.26801 C 94.839875,60.407623 93.290633,60.580795 92.160034,60.92426 C 91.029435,61.267725 89.911438,61.914443 89.056586,63.01801 C 88.201734,64.121577 87.553727,65.489742 87.081665,67.17426 C 86.609604,68.858778 86.309324,70.138052 86.376336,72.54926 C 86.443347,74.960468 86.871609,78.248439 87.363796,81.26801 C 87.855982,84.287581 88.351917,87.858919 88.986053,90.86176 C 89.620189,93.864601 90.703057,96.535287 91.517717,98.646292 C 92.332377,100.7573 93.087791,102.49111 93.836704,103.50233 C 94.585617,104.51355 94.896259,104.9036 95.686679,105.33051 C 96.477099,105.75742 97.567003,106.06303 98.522102,105.98676 C 99.477201,105.91049 100.41608,104.41885 101.13839,103.59677 C 101.8607,102.77469 102.88842,99.504338 103.69761,96.48345 C 104.5068,93.462561 105.30597,91.53964 106.35271,86.599296 C 107.39945,81.658952 108.47781,74.293841 108.97508,71.01801 C 109.47234,67.742179 109.22234,67.929863 108.72878,66.467389 C 108.23521,65.004915 107.35398,64.101592 106.50643,63.26801 C 105.65887,62.434428 105.19482,61.932957 103.70986,61.473812 C 102.2249,61.014666 101.16364,60.702221 99.837564,60.539052 C 98.511488,60.375883 96.674549,60.128397 95.757212,60.26801 z"
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ sodipodi:nodetypes="czzzzzzzzzzzzzzzzzzz" />
+ </g>
+ </g>
+ </g>
+ <g
+ transform="matrix(0.6623212,0,0,0.6661406,343.9692,338.21156)"
+ id="g3538"
+ inkscape:label="Calque 1">
+ <g
+ inkscape:export-ydpi="90"
+ inkscape:export-xdpi="90"
+ id="g3540">
+ <path
+ sodipodi:type="star"
+ style="fill:#ffff00;fill-opacity:1;stroke:#000000;stroke-width:27.82019997;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:24.29999924;stroke-dasharray:none;stroke-opacity:1"
+ id="path3542"
+ sodipodi:sides="3"
+ sodipodi:cx="191.09729"
+ sodipodi:cy="183.1349"
+ sodipodi:r1="187.79253"
+ sodipodi:r2="93.896263"
+ sodipodi:arg1="0.52359878"
+ sodipodi:arg2="1.5707963"
+ inkscape:flatsided="false"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="M 353.73039,277.03117 L 191.09729,277.03117 L 28.464191,277.03117 L 109.78074,136.18677 L 191.09729,-4.6576233 L 272.41384,136.18677 L 353.73039,277.03117 z"
+ transform="matrix(0.35945,0,0,0.35945,28.8492,30.1932)" />
+ <g
+ id="g3544"
+ transform="translate(-0.510735,-1.02147)">
+ <path
+ id="path3546"
+ d="M 94.9375,108.40625 C 94.290019,108.49207 93.517293,108.86225 92.914114,109.2178 C 92.310935,109.57335 91.770059,109.9684 91.3641,110.47287 C 90.958141,110.97733 90.867103,111.63392 90.72033,112.21243 C 90.573557,112.79094 90.525438,113.26403 90.78125,113.90625 C 91.037062,114.54847 91.509887,115.41161 92.055252,115.93025 C 92.600617,116.44889 92.987635,116.9934 93.711376,117.22111 C 94.435117,117.44881 95.279851,117.7648 96,117.875 C 96.720149,117.9852 97.25089,117.77544 97.962055,117.59387 C 98.67322,117.4123 99.587555,117.07103 100.18371,116.67654 C 100.77986,116.28205 101.11025,115.82907 101.4724,115.36585 C 101.83455,114.90263 101.94155,114.45667 101.97237,113.8935 C 102.00319,113.33033 101.88899,112.7735 101.48418,112.24977 C 101.07937,111.72604 100.64982,111.06226 100.17793,110.52197 C 99.706043,109.98168 99.142309,109.4912 98.534118,109.19736 C 97.925927,108.90352 97.23572,108.65607 96.630291,108.50605 C 96.024862,108.35603 95.584981,108.32043 94.9375,108.40625 z"
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ transform="matrix(1.41667,0,0,1.57627,-38.6775,-62.2193)"
+ sodipodi:nodetypes="czzzzzzzzzzzzzzzz" />
+ <path
+ id="path3548"
+ d="M 95.757212,60.26801 C 94.839875,60.407623 93.290633,60.580795 92.160034,60.92426 C 91.029435,61.267725 89.911438,61.914443 89.056586,63.01801 C 88.201734,64.121577 87.553727,65.489742 87.081665,67.17426 C 86.609604,68.858778 86.309324,70.138052 86.376336,72.54926 C 86.443347,74.960468 86.871609,78.248439 87.363796,81.26801 C 87.855982,84.287581 88.351917,87.858919 88.986053,90.86176 C 89.620189,93.864601 90.703057,96.535287 91.517717,98.646292 C 92.332377,100.7573 93.087791,102.49111 93.836704,103.50233 C 94.585617,104.51355 94.896259,104.9036 95.686679,105.33051 C 96.477099,105.75742 97.567003,106.06303 98.522102,105.98676 C 99.477201,105.91049 100.41608,104.41885 101.13839,103.59677 C 101.8607,102.77469 102.88842,99.504338 103.69761,96.48345 C 104.5068,93.462561 105.30597,91.53964 106.35271,86.599296 C 107.39945,81.658952 108.47781,74.293841 108.97508,71.01801 C 109.47234,67.742179 109.22234,67.929863 108.72878,66.467389 C 108.23521,65.004915 107.35398,64.101592 106.50643,63.26801 C 105.65887,62.434428 105.19482,61.932957 103.70986,61.473812 C 102.2249,61.014666 101.16364,60.702221 99.837564,60.539052 C 98.511488,60.375883 96.674549,60.128397 95.757212,60.26801 z"
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:10;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ sodipodi:nodetypes="czzzzzzzzzzzzzzzzzzz" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/realtime/rt-basics/images/xenomai.png b/realtime/rt-basics/images/xenomai.png
new file mode 100644
index 0000000..d1ff146
--- /dev/null
+++ b/realtime/rt-basics/images/xenomai.png
Binary files differ
diff --git a/realtime/rt-basics/images/xenomai.svg b/realtime/rt-basics/images/xenomai.svg
new file mode 100644
index 0000000..8f71daa
--- /dev/null
+++ b/realtime/rt-basics/images/xenomai.svg
@@ -0,0 +1,274 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="210mm"
+ height="297mm"
+ id="svg2"
+ sodipodi:version="0.32"
+ inkscape:version="0.46"
+ sodipodi:docname="xenomai.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ inkscape:export-filename="/home/jan/work/omnicron/schulung/realtime/rt-basics/images/rtai.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90">
+ <defs
+ id="defs4">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="420.5163"
+ inkscape:cy="792.79929"
+ inkscape:document-units="px"
+ inkscape:current-layer="g3159"
+ showgrid="false"
+ inkscape:window-width="906"
+ inkscape:window-height="694"
+ inkscape:window-x="88"
+ inkscape:window-y="-31" />
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Ebene 1"
+ inkscape:groupmode="layer"
+ id="layer1">
+ <g
+ id="g3159"
+ transform="matrix(1.1055858,0,0,1.0705292,-68.76791,-183.84127)">
+ <rect
+ style="fill:#00c2fc;fill-opacity:1;stroke:#000000;stroke-width:0.70241845;stroke-opacity:1"
+ id="rect3228"
+ width="657.20056"
+ height="175.55843"
+ x="64.646378"
+ y="221.60361" />
+ <rect
+ style="fill:#fcf800;fill-opacity:1;stroke:#000000;stroke-width:1.07145548;stroke-opacity:1"
+ id="rect3226"
+ width="656.83746"
+ height="408.71277"
+ x="64.084282"
+ y="397.80533" />
+ <rect
+ y="854.72406"
+ x="62.441948"
+ height="76.543472"
+ width="658.19678"
+ id="rect3157"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:1.13413763;stroke-opacity:1" />
+ <text
+ id="text2383"
+ y="909.74054"
+ x="302.29761"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="909.74054"
+ x="302.29761"
+ id="tspan2385"
+ sodipodi:role="line">Hardware</tspan></text>
+ <rect
+ y="652.98529"
+ x="83.228462"
+ height="76.574478"
+ width="623.01147"
+ id="rect3164"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:1.1036309;stroke-opacity:1" />
+ <text
+ id="text3166"
+ y="705.27673"
+ x="280.52774"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="705.27673"
+ x="280.52774"
+ id="tspan3168"
+ sodipodi:role="line">Adeos / IPIPE</tspan></text>
+ <rect
+ y="521.28082"
+ x="84.68071"
+ height="77.063293"
+ width="197.03423"
+ id="rect3170"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:0.62262768;stroke-opacity:1" />
+ <text
+ id="text3176"
+ y="573.85217"
+ x="128.00005"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="573.85217"
+ x="128.00005"
+ id="tspan3178"
+ sodipodi:role="line">Linux</tspan></text>
+ <rect
+ y="522.2688"
+ x="299.24976"
+ height="77.063293"
+ width="197.03423"
+ id="rect3180"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:0.62262768;stroke-opacity:1" />
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="328.63376"
+ y="564.7182"
+ id="text3182"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan3184"
+ x="328.63376"
+ y="564.7182">Nucleus</tspan></text>
+ <rect
+ y="522.15295"
+ x="509.44202"
+ height="77.063293"
+ width="197.03423"
+ id="rect3186"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:0.62262768;stroke-opacity:1" />
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="555.10895"
+ y="564.60419"
+ id="text3188"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan3190"
+ x="555.10895"
+ y="564.60419">RT App</tspan></text>
+ <rect
+ y="302.13153"
+ x="85.736412"
+ height="76.947311"
+ width="276.30084"
+ id="rect3192"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:0.73675251;stroke-opacity:1" />
+ <text
+ id="text3194"
+ y="354.64569"
+ x="128.99979"
+ style="font-size:40px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ xml:space="preserve"><tspan
+ style="fill:#000000;fill-opacity:1"
+ y="354.64569"
+ x="128.99979"
+ id="tspan3196"
+ sodipodi:role="line">Linux App</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.91918838px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 190.79792,651.99969 L 190.79792,598.80099 L 190.79792,598.80099"
+ id="path3206" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.91918838px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 387.76183,652.67974 L 387.76183,599.48103 L 387.76183,599.48103"
+ id="path3208" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.91918838px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 604.86584,652.817 L 604.86584,599.6183 L 604.86584,599.6183"
+ id="path3210" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1.50373888px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 155.6171,521.13241 L 155.6171,378.75642 L 155.6171,378.75642"
+ id="path3212" />
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="103.65495"
+ y="266.75162"
+ id="text3230"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan3232"
+ x="103.65495"
+ y="266.75162">Userspace</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="102.72641"
+ y="767.17688"
+ id="text3234"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan3236"
+ x="102.72641"
+ y="767.17688">Kernelspace</tspan></text>
+ <rect
+ y="301.67725"
+ x="386.98862"
+ height="77.063293"
+ width="197.03423"
+ id="rect3289"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:0.62262768;stroke-opacity:1" />
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="430.66626"
+ y="347.65201"
+ id="text3291"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan3293"
+ x="430.66626"
+ y="347.65201">RT App</tspan></text>
+ <rect
+ y="415.63928"
+ x="357.13901"
+ height="77.063293"
+ width="197.03423"
+ id="rect3295"
+ style="fill:#00fc00;fill-opacity:1;stroke:#000000;stroke-width:0.62262768;stroke-opacity:1" />
+ <text
+ xml:space="preserve"
+ style="font-size:36.76753235px;font-style:normal;font-weight:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;font-family:Bitstream Vera Sans"
+ x="413.20154"
+ y="459.79306"
+ id="text3297"
+ transform="scale(0.984018,1.0162416)"><tspan
+ sodipodi:role="line"
+ id="tspan3299"
+ x="413.20154"
+ y="459.79306">Skins</tspan></text>
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 422,260.36218 C 422,221.36218 422,221.36218 422,221.36218"
+ id="path3301"
+ transform="matrix(0.9044979,0,0,0.9341174,62.200428,171.72934)" />
+ <path
+ style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 422,374.36218 L 422,342.36218"
+ id="path3303"
+ transform="matrix(0.9044979,0,0,0.9341174,62.200428,171.72934)" />
+ </g>
+ </g>
+</svg>
diff --git a/realtime/rt-basics/pres_rt-basics_de.tex b/realtime/rt-basics/pres_rt-basics_de.tex
index 07db328..128b115 100644
--- a/realtime/rt-basics/pres_rt-basics_de.tex
+++ b/realtime/rt-basics/pres_rt-basics_de.tex
@@ -1,24 +1,214 @@
-\documentclass{article}
+\documentclass{beamer}
+\usetheme{linutronix}
\usepackage{german}
\usepackage[utf8]{inputenc}
+\usepackage{pgf}
+\usepackage{graphicx}
+\usepackage{lxextras}
+
+\title{Block \lq Realtime Linux\rq}
+\institute{Linutronix GmbH}
\begin{document}
-\section*{Block \lq Was ist Linux?\rq}
+\maketitle
+
+
+% ----- Slide ------------------
+\begin{frame}
+\frametitle{Was ist Echtzeit?}
+\begin{itemize}
+\item Korrektheit bedeutet auch Ausführung zum korrekten Zeitpunkt
+\item Nicht Einhalten des korrekten Zeitrahmens führt zu einem Fehler
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Echtzeit ''anschaulich''}
+\begin{overprint}
+\onslide<1>
+\begin{alertblock}{Wir erinnern uns}
+Nicht Einhalten des korrekten Zeitrahmens führt zu einem Fehler!
+\end{alertblock}
+\onslide<2>
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/nuclear.png}
+\end{figure}
+\end{overprint}
+\end{frame}
+
+\begin{frame}
+\frametitle{Anwendungsbereiche}
+\begin{itemize}
+\item Steuerungs- / Automatisierungstechnik
+\item Multimediasysteme
+\item Luft- und Raumfahrttechnik
+\item Finanzdienstleistung
+\item ...
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Anforderungen}
+\begin{itemize}
+\item Deterministisches Zeitverhalten
+\item Unterbrechbarkeit
+\item Priority Inheritance / Priority Ceiling
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Priority Inversion}
+\begin{figure}[h]
+\centering
+\includegraphics[width=0.8\textwidth]{images/prio_inv.png}
+\end{figure}
+\end{frame}
+
+\begin{frame}
+\frametitle{Linux und Echtzeit}
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/gpos_vs_rt.png}
+\end{figure}
+\end{frame}
-\subsection*{Lernziele}
+\begin{frame}
+\frametitle{Ansätze}
\begin{itemize}
-\item Lernziel 1
-\item Lernziel 2
-\item Lernziel 3
+\item Dual-Kernel
+\item In-Kernel / Single Kernel
\end{itemize}
+\end{frame}
-\subsection*{Unterrichts-Ablauf}
+\begin{frame}
+\frametitle{Dual-Kernel}
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/dual_kernel.png}
+\end{figure}
+\end{frame}
-Hinweise zur Präsentation, Zeitplanung, etc.
+\begin{frame}
+\frametitle{Single-Kernel}
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/single_kernel.png}
+\end{figure}
+\end{frame}
+
+\begin{frame}
+\frametitle{RTAI}
+\begin{itemize}
+\item Prof. Paolo Mantegazza, Universität Mailand
+\item Dual-Kernel Ansatz
+\item Echtzeit im Kernelspace
+\item Userspace Echtzeittasks nur eingeschränkt möglich
+\item Oberstes Designziel: Möglichst niedrige Latenzzeiten
+\item Unterstützte Plattformen: x86, x86\_64, einige ARM Plattformen
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{RTAI}
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/rtai.png}
+\end{figure}
+\end{frame}
+
+\begin{frame}
+\frametitle{Xenomai}
+\begin{itemize}
+\item Gegründet 2001
+\item Echtzeit im Userpace
+\item Skins bilden API verschiedenster RTOSse nach
+\item Dual-Kernel Ansatz
+\item Unterstützte Plattformen: x86, x86\_64, PowerPC, ARM, ia64
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Xenomai}
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/xenomai.png}
+\end{figure}
+\end{frame}
+
+\begin{frame}
+\frametitle{Xenomai / IPIPE}
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/ipipe.png}
+\end{figure}
+\end{frame}
+
+\begin{frame}
+\frametitle{Drum prüfe, wer sich ewig bindet...}
+\begin{overprint}
+\onslide<1>
+\begin{figure}[h]
+\centering
+\includegraphics[width=0.8\textwidth]{images/mar01.png}
+\end{figure}
+\onslide<2>
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/mar02.png}
+\end{figure}
+\onslide<3>
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/mar03.png}
+\end{figure}
+\end{overprint}
+\end{frame}
+
+\begin{frame}
+\frametitle{Preempt RT}
+\begin{itemize}
+\item Thomas Gleixner, Ingo Molnar
+\item In-Kernel Ansatz
+\item Große Entwicklergemeinde
+\item Viele Funktionen bereits nach ''Mainline'' Linux übernommen
+\item POSIX Realtime
+\item Hohe Akzeptanz, vollständige Integration in Linux 2006 beschlossen
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Preempt RT und Mainline}
+\textit{''Controlling a laser with Linux is crazy, but everyone in this room is
+crazy in his own way. So if you want to use Linux to control an industrial
+welding laser, I have no problem with your using Preempt RT''} - Linus Torvalds
+auf dem Kernel Summit 2006
+\end{frame}
+
+\begin{frame}
+\frametitle{Wie macht Preempt RT Linux echtzeitfähig?}
+\begin{overprint}
+\onslide<1>
+\begin{alertblock}{Wir erinnern uns...}
+Unterbrechbarkeit ist eine zentrale Anforderung an ein Echtzeitsystem
+\end{alertblock}
+\onslide<2>
+\begin{itemize}
+\item Locking Primitiven: Spinlocks werden durch RT Mutexe ersetzt, die schlafen
+können. Raw Spinlocks ersetzen die ursprüngliche Spinlock
+\item Interrupt Handler laufen per default in einem Kernelthread
+\end{itemize}
+\end{overprint}
+\end{frame}
-\subsection*{Übungen bei vorhandener Hardware}
+\begin{frame}
+\frametitle{Preempt RT}
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/preempt_rt.png}
+\end{figure}
+\end{frame}
-Hinweise zu Übungen, Zeitlimit dazu.
\end{document}