diff options
Diffstat (limited to 'realtime/rt-basics')
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 Binary files differnew file mode 100644 index 0000000..c58d156 --- /dev/null +++ b/realtime/rt-basics/images/dual_kernel.png 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 Binary files differnew file mode 100644 index 0000000..07a4a79 --- /dev/null +++ b/realtime/rt-basics/images/gpos_vs_rt.png 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 Binary files differnew file mode 100644 index 0000000..b7468fa --- /dev/null +++ b/realtime/rt-basics/images/ipipe.png 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 Binary files differnew file mode 100644 index 0000000..7f18317 --- /dev/null +++ b/realtime/rt-basics/images/mar01.png 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 Binary files differnew file mode 100644 index 0000000..f1f53a1 --- /dev/null +++ b/realtime/rt-basics/images/mar02.png 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 Binary files differnew file mode 100644 index 0000000..97ab7ba --- /dev/null +++ b/realtime/rt-basics/images/mar03.png 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 Binary files differnew file mode 100644 index 0000000..a434e91 --- /dev/null +++ b/realtime/rt-basics/images/nuclear.png diff --git a/realtime/rt-basics/images/preempt_rt.png b/realtime/rt-basics/images/preempt_rt.png Binary files differnew file mode 100644 index 0000000..463673f --- /dev/null +++ b/realtime/rt-basics/images/preempt_rt.png 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 Binary files differnew file mode 100644 index 0000000..574afb3 --- /dev/null +++ b/realtime/rt-basics/images/prio_inv.png 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 Binary files differnew file mode 100644 index 0000000..dedf883 --- /dev/null +++ b/realtime/rt-basics/images/rtai.dia diff --git a/realtime/rt-basics/images/rtai.dia~ b/realtime/rt-basics/images/rtai.dia~ Binary files differnew file mode 100644 index 0000000..c4024ff --- /dev/null +++ b/realtime/rt-basics/images/rtai.dia~ diff --git a/realtime/rt-basics/images/rtai.png b/realtime/rt-basics/images/rtai.png Binary files differnew file mode 100644 index 0000000..c6c21ce --- /dev/null +++ b/realtime/rt-basics/images/rtai.png 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 Binary files differnew file mode 100644 index 0000000..d398b29 --- /dev/null +++ b/realtime/rt-basics/images/single_kernel.png 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 Binary files differnew file mode 100644 index 0000000..d1ff146 --- /dev/null +++ b/realtime/rt-basics/images/xenomai.png 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} |
