summaryrefslogtreecommitdiff
path: root/linux-basics/linux-processes/pres_linux-processes_en.tex
diff options
context:
space:
mode:
Diffstat (limited to 'linux-basics/linux-processes/pres_linux-processes_en.tex')
-rw-r--r--linux-basics/linux-processes/pres_linux-processes_en.tex74
1 files changed, 73 insertions, 1 deletions
diff --git a/linux-basics/linux-processes/pres_linux-processes_en.tex b/linux-basics/linux-processes/pres_linux-processes_en.tex
index f7774c3..71c1344 100644
--- a/linux-basics/linux-processes/pres_linux-processes_en.tex
+++ b/linux-basics/linux-processes/pres_linux-processes_en.tex
@@ -3,7 +3,7 @@
\input{configpres}
-\title{Linux process mangagement / Scheduling / Daemons}
+\title{Linux process management / Scheduling / Daemons}
\maketitle
% stop displaying 'fueller.png' on the following slides
@@ -11,6 +11,23 @@
\subsection{Process Management}
\begin{frame}
+\frametitle{Binary formats}
+A program file includes meta information which describes the format
+of the executable. Linux uses the ELF format (Executable Linking Format)
+\end{frame}
+
+\begin{frame}
+\frametitle{Process Memory Layout}
+\begin{itemize}
+\item text segment
+\item initialized data segment
+\item uninitialized data segment
+\item stack
+\item heap
+\end{itemize}
+\end{frame}
+
+\begin{frame}
\frametitle{Process creation}
From the operatings system's point of view, there are basically two steps,
which are performed when starting a process.
@@ -156,6 +173,30 @@ Scheduling policies:
\end{verbatim}
\end{frame}
+\begin{frame}[fragile]
+\frametitle{Setting scheduling class and priority}
+\begin{lstlisting}
+#include <sched.h>
+
+struct sched_param param;
+int ret;
+
+params.prio = 80;
+ret = sched_setscheduler(0, SCHED_FIFO, &param);
+[...]
+\end{lstlisting}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{Resource limits}
+\begin{lstlisting}
+#include <sys/resource.h>
+
+int setrlimit(int resource,
+ const struct rlimit *rlim);
+\end{lstlisting}
+\end{frame}
+
\subsection{Daemons}
\begin{frame}
\frametitle{Daemons}
@@ -177,6 +218,37 @@ working directory and so on...)
\end{itemize}
\end{frame}
+\subsection{Multicore specific scheduling}
+\begin{frame}[fragile]
+\frametitle{Scheduling on Multicore Systems}
+\begin{itemize}
+\item CPU affinity
+\item Kernelparameters:
+\begin{itemize}
+\item max\_cpus=
+\item isolcpus=
+\end{itemize}
+\end{itemize}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{CPU affinity}
+\begin{lstlisting}
+#define _GNU_SOURCE
+#include <sched.h>
+
+cpu_set_t set;
+
+CPU_ZERO(&set);
+CPU_SET(0, &set);
+CPU_SET(1, &set);
+
+[...]
+
+sched_setaffinity(pid, CPU_SETSIZE, &set);
+\end{lstlisting}
+\end{frame}
+
\subsection{sources}
\begin{frame}
\begin{thebibliography}{1}