[FE training-materials-updates] kernel: slightly reorganize the intro slides + virtual fs -> pseudo fs

Thomas Petazzoni thomas.petazzoni at free-electrons.com
Wed Jul 16 16:09:48 CEST 2014


Repository : git://git.free-electrons.com/training-materials.git

On branch  : master
Link       : http://git.free-electrons.com/training-materials/commit/?id=3d4c489bee033d8ac85bccd8d52f1b89d69fb8c7

>---------------------------------------------------------------

commit 3d4c489bee033d8ac85bccd8d52f1b89d69fb8c7
Author: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>
Date:   Wed Jul 16 15:42:10 2014 +0200

    kernel: slightly reorganize the intro slides + virtual fs -> pseudo fs
    
    We more classical terminology for /proc and /sys is "pseudo
    filesystems" (that's how they are named in the kernel configuration),
    so we now use this terminology instead of "virtual filesystems", which
    can be confusing with the VFS (virtual filesystem), that is not the
    same thing.
    
    Also re-order a bit the slides to be in a more logical order.
    
    Signed-off-by: Thomas Petazzoni <thomas.petazzoni at free-electrons.com>


>---------------------------------------------------------------

3d4c489bee033d8ac85bccd8d52f1b89d69fb8c7
 .../sysdev-linux-intro-features.tex                |  129 ++++++++++----------
 1 file changed, 65 insertions(+), 64 deletions(-)

diff --git a/slides/sysdev-linux-intro-features/sysdev-linux-intro-features.tex b/slides/sysdev-linux-intro-features/sysdev-linux-intro-features.tex
index 541a027..c5cb3f0 100644
--- a/slides/sysdev-linux-intro-features/sysdev-linux-intro-features.tex
+++ b/slides/sysdev-linux-intro-features/sysdev-linux-intro-features.tex
@@ -20,6 +20,31 @@
 \end{frame}
 
 \begin{frame}
+  \frametitle{Linux kernel key features}
+  \begin{columns}
+    \column{0.5\textwidth}
+    \begin{itemize}
+    \item Portability and hardware support. Runs on most
+      architectures.
+    \item Scalability. Can run on super computers as well as on tiny
+      devices (4 MB of RAM is enough).
+    \item Compliance to standards and interoperability.
+    \item Exhaustive networking support.
+    \end{itemize}
+    \column{0.5\textwidth}
+    \begin{itemize}
+    \item Security. It can't hide its flaws. Its code is reviewed by
+      many experts.
+    \item Stability and reliability.
+    \item Modularity. Can include only what a system needs even at run
+      time.
+    \item Easy to program. You can learn from existing code. Many
+      useful resources on the net.
+    \end{itemize}
+  \end{columns}
+\end{frame}
+
+\begin{frame}
   \frametitle{Linux kernel in the system}
   \begin{center}
     \includegraphics[width=\textwidth]{slides/sysdev-linux-intro-features/linux-kernel-in-system.pdf}
@@ -42,6 +67,46 @@
   \end{itemize}
 \end{frame}
 
+\begin{frame}
+  \frametitle{System calls}
+  \begin{itemize}
+  \item The main interface between the kernel and user space is the set
+    of system calls
+  \item About ~300 system calls that provide the main kernel services
+    \begin{itemize}
+    \item File and device operations, networking operations,
+      inter-process communication, process management, memory mapping,
+      timers, threads, synchronization primitives, etc.
+    \end{itemize}
+  \item This interface is stable over time: only new system calls can
+    be added by the kernel developers
+  \item This system call interface is wrapped by the C library, and
+    user space applications usually never make a system call directly
+    but rather use the corresponding C library function
+  \end{itemize}
+\end{frame}
+
+\begin{frame}
+  \frametitle{Pseudo filesystems}
+  \begin{itemize}
+  \item Linux makes system and kernel information available in user
+    space through {\bf pseudo filesystems}, sometimes also called {\bf
+      virtual filesystems}
+  \item Pseudo filesystems allow applications to see directories and
+    files that do not exist on any real storage: they are created and
+    updated on the fly by the kernel
+  \item The two most important pseudo filesystems are
+    \begin{itemize}
+    \item \code{proc}, usually mounted on \code{/proc}: \\
+      Operating system related information (processes, memory
+      management parameters...)
+    \item \code{sysfs}, usually mounted on \code{/sys}: \\
+       Representation of the system as a set of
+       devices and buses. Information about these devices.
+    \end{itemize}
+  \end{itemize}
+\end{frame}
+
 \begin{frame}{Inside the Linux kernel}
   \begin{center}
     \includegraphics[width=\textwidth]{slides/sysdev-linux-intro-features/inside-linux-kernel.pdf}
@@ -69,31 +134,6 @@
 }
 
 \begin{frame}
-  \frametitle{Linux kernel key features}
-  \begin{columns}
-    \column{0.5\textwidth}
-    \begin{itemize}
-    \item Portability and hardware support. Runs on most
-      architectures.
-    \item Scalability. Can run on super computers as well as on tiny
-      devices (4 MB of RAM is enough).
-    \item Compliance to standards and interoperability.
-    \item Exhaustive networking support.
-    \end{itemize}
-    \column{0.5\textwidth}
-    \begin{itemize}
-    \item Security. It can't hide its flaws. Its code is reviewed by
-      many experts.
-    \item Stability and reliability.
-    \item Modularity. Can include only what a system needs even at run
-      time.
-    \item Easy to program. You can learn from existing code. Many
-      useful resources on the net.
-    \end{itemize}
-  \end{columns}
-\end{frame}
-
-\begin{frame}
   \frametitle{Supported hardware architectures}
   \begin{itemize}
   \item See the \kpath{arch/} directory in the kernel sources
@@ -113,42 +153,3 @@
     \code{arch/<arch>/README}, or \code{Documentation/<arch>/}
   \end{itemize}
 \end{frame}
-
-\begin{frame}
-  \frametitle{System calls}
-  \begin{itemize}
-  \item The main interface between the kernel and user space is the set
-    of system calls
-  \item About ~300 system calls that provide the main kernel services
-    \begin{itemize}
-    \item File and device operations, networking operations,
-      inter-process communication, process management, memory mapping,
-      timers, threads, synchronization primitives, etc.
-    \end{itemize}
-  \item This interface is stable over time: only new system calls can
-    be added by the kernel developers
-  \item This system call interface is wrapped by the C library, and
-    user space applications usually never make a system call directly
-    but rather use the corresponding C library function
-  \end{itemize}
-\end{frame}
-
-\begin{frame}
-  \frametitle{Virtual filesystems}
-  \begin{itemize}
-  \item Linux makes system and kernel information available in
-    user space through virtual filesystems.
-  \item Virtual filesystems allow applications to see directories and
-    files that do not exist on any real storage: they are created on the
-    fly by the kernel
-  \item The two most important virtual filesystems are
-    \begin{itemize}
-    \item \code{proc}, usually mounted on \code{/proc}: \\
-      Operating system related information (processes, memory
-      management parameters...)
-    \item \code{sysfs}, usually mounted on \code{/sys}: \\
-       Representation of the system as a set of
-       devices and buses. Information about these devices.
-    \end{itemize}
-  \end{itemize}
-\end{frame}



More information about the training-materials-updates mailing list