[bootlin/training-materials updates] master: slides/sysdev-linux-intro-sources: Merge the size and structure slides (c8a277a1)

Miquel Raynal miquel.raynal at bootlin.com
Fri Mar 17 15:34:05 CET 2023


Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/c8a277a1b442572906055d586001516682146eaa

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

commit c8a277a1b442572906055d586001516682146eaa
Author: Miquel Raynal <miquel.raynal at bootlin.com>
Date:   Thu Mar 16 09:20:36 2023 +0100

    slides/sysdev-linux-intro-sources: Merge the size and structure slides
    
    Background idea: reducing the introduction.
    
    Signed-off-by: Miquel Raynal <miquel.raynal at bootlin.com>


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

c8a277a1b442572906055d586001516682146eaa
 .../sysdev-linux-intro-sources.tex                 | 69 +++++++---------------
 1 file changed, 22 insertions(+), 47 deletions(-)

diff --git a/slides/sysdev-linux-intro-sources/sysdev-linux-intro-sources.tex b/slides/sysdev-linux-intro-sources/sysdev-linux-intro-sources.tex
index c179cc7d..f1d72ef6 100644
--- a/slides/sysdev-linux-intro-sources/sysdev-linux-intro-sources.tex
+++ b/slides/sysdev-linux-intro-sources/sysdev-linux-intro-sources.tex
@@ -102,31 +102,23 @@
 }
 
 \begin{frame}
-  \frametitle{Linux kernel size}
+  \frametitle{Linux kernel size and structure}
   \begin{itemize}
-  \item Linux v5.18 sources:\\
-    \begin{itemize}
-	\item 75,878 files (\code{git ls-files | wc -l})
-	\item 33,242,942 lines (\code{git ls-files | xargs cat | wc -l})
-	\item 1,154,591,060 bytes (\code{git ls-files | xargs cat | wc -c})
-    \end{itemize}
+  \item Linux v5.18 sources: close to 80k files, 35M lines, 1.3GiB
+    % files: git ls-files | wc -l
+    % lines: git ls-files | xargs cat | wc -l
+    % bytes: git ls-files | xargs cat | wc -c
   \item But a compressed Linux kernel just sizes a few megabytes.
   \item So, why are these sources so big?\\
-    Because they include thousands of device drivers, many network
-    protocols, support many architectures and filesystems...
-  \item The Linux core (scheduler, memory management...) is pretty
-    small!
-  \end{itemize}
-\end{frame}
-
-\begin{frame}
-  \frametitle{Linux kernel sources structure}
-  As of kernel version v5.18 (in percentage of total number of lines).
+    Because they include numerous device drivers, network protocols,
+    architectures, filesystems... The core is pretty small!
+  \item As of kernel version v5.18 (in percentage of total number of lines):
   % Update the data by running utils/source-code-line-statistics
   % in the Linux kernel source directory
+  \end{itemize}
+  {\small
   \begin{columns}
-    \column[t]{0.33\textwidth}
-    Source code:
+    \column[t]{0.24\textwidth}
     \begin{itemize}
     \item \kdir{drivers}: 61.1\%
     \item \kdir{arch}: 11.6\%
@@ -134,41 +126,24 @@
     \item \kdir{sound}: 4.1\%
     \item \kdir{tools}: 3.9\%
     \item \kdir{net}: 3.7\%
+    \end{itemize}
+    \column[t]{0.32\textwidth}
+    \begin{itemize}
     \item \kdir{include}: 3.5\%
+    \item \kdir{Documentation}: 3.4\%
     \item \kdir{kernel}: 1.3\%
     \item \kdir{lib}: 0.7\%
     \item \kdir{usr}: 0.6\%
-    \end{itemize}
-    \column[t]{0.33\textwidth}
-    \begin{itemize}
     \item \kdir{mm}: 0.5\%
-    \item \kdir{scripts}: 0.4\%
-    \item \kdir{security}: 0.3\%
-    \item \kdir{crypto}: 0.3\%
-    \item \kdir{block}: 0.2\%
-    \item \kdir{samples}: 0.1\%
-    \item \kdir{ipc}: 0.0\%
-    \item \kdir{virt}: 0.0\%
-    \item \kdir{init}: 0.0\%
-    \item \kdir{certs}: 0.0\%
-    \end{itemize}
-    \column[t]{0.33\textwidth}
-    Doc and bindings:
-    \begin{itemize}
-    \item \kdir{Documentation}: 3.4\%
-    \end{itemize}
-    Build system files:
-    \begin{itemize}
-    \item \kfile{Kbuild}
-    \item \kfile{Kconfig}
-    \item \kfile{Makefile}
     \end{itemize}
-    Other files:
+    \column[t]{0.34\textwidth}
     \begin{itemize}
-    \item \kfile{COPYING}
-    \item \kfile{CREDITS}
-    \item \kfile{MAINTAINERS}
-    \item \kfile{README}
+    \item \kdir{scripts}, \kdir{security}, \kdir{crypto}, \kdir{block},
+      \kdir{samples}, \kdir{ipc}, \kdir{virt}, \kdir{init}, \kdir{certs}: <0.5\%
+    \item Build system files: \kfile{Kbuild}, \kfile{Kconfig}, \kfile{Makefile}
+    \item Other files: \kfile{COPYING}, \kfile{CREDITS},
+      \kfile{MAINTAINERS}, \kfile{README}
     \end{itemize}
   \end{columns}
+  }
 \end{frame}




More information about the training-materials-updates mailing list