From aa6b32c21b9218d744e16fc228b61bcac9b3dcb9 Mon Sep 17 00:00:00 2001
From: John Ogness <john.ogness@linutronix.de>
Date: Tue, 19 Dec 2017 10:35:40 +0100
Subject: rt basics: add english version

Signed-off-by: John Ogness <john.ogness@linutronix.de>
---
 realtime/rt-basics/pres_rt-basics_en.tex | 203 +++++++++++++++++++++++++++++++
 1 file changed, 203 insertions(+)
 create mode 100644 realtime/rt-basics/pres_rt-basics_en.tex

(limited to 'realtime/rt-basics/pres_rt-basics_en.tex')

diff --git a/realtime/rt-basics/pres_rt-basics_en.tex b/realtime/rt-basics/pres_rt-basics_en.tex
new file mode 100644
index 0000000..719dafc
--- /dev/null
+++ b/realtime/rt-basics/pres_rt-basics_en.tex
@@ -0,0 +1,203 @@
+\input{configpres}
+
+\title{Realtime Linux}
+\maketitle
+
+\subtitle{Echtzeit}
+
+\begin{frame}
+\frametitle{What is realtime?}
+\begin{itemize}
+\item correctness also means executing at the correct time
+\item failing to meet timing restrictions leads to an error
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Realtime ''concrete''}
+\begin{overprint}
+\onslide<1>
+\begin{alertblock}{Remember...}
+Failing to meet timing restrictions leads to an error!
+\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{Fields of Application}
+\begin{itemize}
+\item Controlling / Automation
+\item Multimedia
+\item Air and Space Technology
+\item Financial Services
+\item ...
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Requirements}
+\begin{itemize}
+\item Deterministic Time Behavior
+\item Interruptible
+\item Priority Inheritance / Priority Ceiling
+\end{itemize}
+\end{frame}
+
+\subsubsection{Priority Inversion}
+\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 and Realtime}
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/gpos_vs_rt.png}
+\end{figure}
+\end{frame}
+
+\begin{frame}
+\frametitle{Approaches}
+\begin{itemize}
+\item Dual Kernel
+\item In Kernel / Single Kernel
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Dual Kernel}
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/dual_kernel.png}
+\end{figure}
+\end{frame}
+
+\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, University of Mailand
+\item Dual kernel approach
+\item Realtime in kernelspace
+\item Realtime tasks in userspace possible with limitations
+\item Main design goal: smallest posible latency times
+\item Supported platforms: x86, x86\_64, several ARM platforms
+\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 Founded in 2001
+\item Realtime in userpace
+\item Skins emulate API's for varios RTOS systems
+\item Dual kernel approach
+\item Supported platforms: 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{Marry in haste, repent at leisure...}
+\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 Approach
+\item Large development community
+\item Many features already integrated in ''Mainline'' Linux
+\item POSIX Realtime
+\item Highly accepted, agreement in 2006 for complete Linux integration
+\end{itemize}
+\end{frame}
+
+\begin{frame}
+\frametitle{Preempt RT and 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{How does Preempt RT make Linux realtime capable?}
+\begin{overprint}
+\onslide<1>
+\begin{alertblock}{Remember...}
+Interruptibility is a main requirement of a realtime system.
+\end{alertblock}
+\onslide<2>
+\begin{itemize}
+\item Locking primitives: Spinlocks are replaced with RT mutexes that can sleep. Raw spinlocks are introduced to provide the classic spinlock functionality.
+\item Interrupt handlers run by default each as its own kernel thread.
+\end{itemize}
+\end{overprint}
+\end{frame}
+
+\begin{frame}
+\frametitle{Preempt RT}
+\begin{figure}[h]
+\centering
+\includegraphics[height=0.5\textwidth]{images/preempt_rt.png}
+\end{figure}
+\end{frame}
+
+\input{tailpres}
-- 
cgit v1.2.3

