\input{configpres}

\subsection{Linux Kernel-API}
\title{Linux Kernel-API}

% ----------------------------
\maketitle

% ----------------------------
\begin{frame}
\frametitle{Overview}
\tableofcontents
\end{frame}

% ----------------------------
\begin{frame}
\frametitle{Basics}
\begin{itemize}
\item Application: Userspace, unprivileged
\item Driver: Kernel, privileged
\item Userspace-to-Kernel API
 \begin{itemize}
 \item Syscalls
 \item Device Nodes
 \item Pseudo Filesystems
 \item Netlink Sockets
 \end{itemize}
\end{itemize}
\end{frame}
% Most CPUs has two operation modes, an privileged and an unprivileged.
% Linux supports this HW feature by separating the Userspace (Applications,
% Libraries) from the Kernel (scheduling, memory-management, drivers). The
% Linux Userspace API is the interfacebetween the Userspace and the Kernel.
% The main interface are the syscalls. The file systemcalls and the devide
% nodes allows specific HW access, without creating new syscalls. The pseudo
% filesystems also extends the Userspace API, by externalize structured
% information about the system to applications. The netlink sockets are
% mainly for managing and controling Kernel subsystems, like network.

\subsection{Devices}
% ----------------------------
\input{linux-basics/api/frm_devicenodes.tex}

\subsection{Pseudo FS}
% ----------------------------
\input{linux-basics/api/frm_proc.tex}

% ----------------------------
\input{linux-basics/api/frm_sysfs.tex}

\subsection*{}
\input{tailpres}
