\section{Processes}

\begin{frame}
  \frametitle{Process structure}
  \begin{itemize}
  \item Processes are cheap (as UNIX requires)
  \item Threads are just a special type of process
  \item One kernel stack per process, so preemptible
  \item Kernel threads are processes with no userspace half
  \end{itemize}
\end{frame}

\begin{frame}
  \frametitle{Completely Fair Scheduler}
  \begin{itemize}
  \item Written by Ingo Molnar with ideas from Con Kolivas
  \item Emulates an ``ideal multitasking CPU''
  \item \texttt{wait\_runtime}
  \item Balanced tree, such that leftmost is next to be queued
  \item Options for desktop and server configs
  \item \texttt{cgroup} group schedule
  \end{itemize}
\end{frame}
