From bf7bd4abcdd1e9ae1030c7a9dfae70c35791d771 Mon Sep 17 00:00:00 2001
From: Holger Dengler <dengler@linutronix.de>
Date: Fri, 11 Jan 2019 08:35:40 +0100
Subject: linux-basic: Add Userspace-to-Kernel API slides

Signed-off-by: Holger Dengler <dengler@linutronix.de>
---
 linux-basics/api/pres_kernel-api.tex | 52 ++++++++++++++++++++++++++++++++++++
 1 file changed, 52 insertions(+)
 create mode 100644 linux-basics/api/pres_kernel-api.tex

(limited to 'linux-basics/api/pres_kernel-api.tex')

diff --git a/linux-basics/api/pres_kernel-api.tex b/linux-basics/api/pres_kernel-api.tex
new file mode 100644
index 0000000..bda7055
--- /dev/null
+++ b/linux-basics/api/pres_kernel-api.tex
@@ -0,0 +1,52 @@
+\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}
-- 
cgit v1.2.3

