blob: bda70550a859c516a48c55404c1826dc6d0d9a65 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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}
|