Skip to content
Snippets Groups Projects
Commit 2a5c7940 authored by Peter Gerwinski's avatar Peter Gerwinski
Browse files

Vorbereitung 12.5.2025

parent 61a21a88
No related branches found
No related tags found
No related merge requests found
Showing with 174 additions and 6 deletions
No preview for this file type
......@@ -478,14 +478,14 @@
% \end{center}
\begin{itemize}
\item
Verbindung zur Anwendung\only<2->{: Funktionsaufruf}
Verbindung zur Anwendung%\only<2->{: Funktionsaufruf}
\smallskip
\item
Verbindung zum Betriebssystemkern\only<3->{: System Call}
\pause[4]\smallskip\par
Das Betriebssystem hat mehr Rechte als die Anwendung,\\
daher darf die Anwendung Funktionen des Betriebssystems\\
nur auf sehr kontrollierte Weise aufrufen.
Verbindung zum Betriebssystemkern%\only<3->{: System Call}
% \pause[4]\smallskip\par
% Das Betriebssystem hat mehr Rechte als die Anwendung,\\
% daher darf die Anwendung Funktionen des Betriebssystems\\
% nur auf sehr kontrollierte Weise aufrufen.
\end{itemize}
\end{frame}
......
File added
% bs-20250512.pdf - Lecture Slides on Operating Systems
% Copyright (C) 2014-2024, 2025 Peter Gerwinski
%
% This document is free software: you can redistribute it and/or
% modify it either under the terms of the Creative Commons
% Attribution-ShareAlike 3.0 License, or under the terms of the
% GNU General Public License as published by the Free Software
% Foundation, either version 3 of the License, or (at your option)
% any later version.
%
% This document is distributed in the hope that it will be useful,
% but WITHOUT ANY WARRANTY; without even the implied warranty of
% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
% GNU General Public License for more details.
%
% You should have received a copy of the GNU General Public License
% along with this document. If not, see <http://www.gnu.org/licenses/>.
%
% You should have received a copy of the Creative Commons
% Attribution-ShareAlike 3.0 Unported License along with this
% document. If not, see <http://creativecommons.org/licenses/>.
% README: Systembibliothek, Kernel
\documentclass[10pt,t]{beamer}
\usepackage{pgslides}
\usepackage{tikz}
\title{Treiberentwicklung,\\[\medskipamount]Echtzeit- und Betriebssysteme}
\author{Prof.\ Dr.\ rer.\ nat.\ Peter Gerwinski}
\date{12.\ Mai 2025}
\begin{document}
\maketitleframe
\sectionnonumber{Treiberentwicklung, Echtzeit- und Betriebssysteme}
\begin{frame}
\showsectionnonumber
\begin{itemize}
\item[\textbf{1}] \textbf{Einführung}
\item[\textbf{2}] \textbf{Unix}
\item[\textbf{3}] \textbf{Treiberentwicklung}
\begin{itemize}
\item[3.0] Massenspeicher und Gerätedateien
\color{medgreen}
\item[3.1] Mikrocontroller
\item[3.2] Betriebssysteme ohne Speicherschutz
\item[3.3] Linux-Kernel-Module
\color{orange}
\item[3.4] Die Systembibliothek (libc)
\color{red}
\item[3.5] Der Betriebssystemkern (Kernel)
\end{itemize}
\vspace{-\smallskipamount}
\item[\textbf{\dots}]
\end{itemize}
\end{frame}
\setcounter{section}{2}
\section{Treiberentwicklung}
\setcounter{subsection}{2}
\subsection{Linux-Kernel-Module}
\begin{frame}[fragile]
% \showsection
\showsubsection
\begin{itemize}
\item
\lstinline{#include <linux/module.h>}\\
\lstinline{#include <linux/kernel.h>}
\item
Zwei "`Hauptprogramme"': \lstinline{init_module()}, \lstinline{cleanup_module()}
\item
\lstinline{printk()} statt \lstinline{printf()}
\item
Compilieren mit speziellem \file{Makefile}
% \pause
\item
Angabe der Lizenz ist wichtig: \lstinline{MODULE_LICENSE()}
% \pause
\medskip
\item
Kommunikation mit Anwendungen:\\
Geräte-Dateien (\newterm{major/minor number\/})
% \pause
\item
Kommunikation mit dem Betriebssystemkern:\\
Callback-Funktionen (virtuelle Methoden)
% \pause
\item
Automatisches Anlegen von Gerätedateien:\\
Geräteklassen
\end{itemize}
\end{frame}
\subsection{Die Systembibliothek (libc)}
\begin{frame}[fragile]
% \showsection
\showsubsection
Verbindung zwischen Anwendung und Betriebssystemkern (Kernel)
\medskip
% \begin{center}
% \includegraphics[height=5.5cm]{os-layers-3-glibc.jpg}
% \end{center}
\begin{itemize}
\item
Verbindung zur Anwendung\only<2->{: Funktionsaufruf}
\begin{onlyenv}<3->
\smallskip\par
Indirekter Funktionsaufruf über eine Tabelle von Zeigern,\\
abhängig von der Datei
\smallskip\par
\textarrow\ Aufruf einer virtuellen Methode (objektorientiert)
\end{onlyenv}
\medskip
\item
Verbindung zum Betriebssystemkern\only<4->{: System Call}
\pause[5]\smallskip\par
Das Betriebssystem hat mehr Rechte als die Anwendung,\\
daher darf die Anwendung Funktionen des Betriebssystems\\
nur auf sehr kontrollierte Weise aufrufen.
\smallskip\par
\textarrow\ Hardware-Unterstützung\\
Beispiel: x64-Befehlsarchitektur: \lstinline{syscall}
\end{itemize}
\end{frame}
\subsection{Der Betriebssystemkern (Kernel)}
\begin{frame}[fragile]
% \showsection
\showsubsection
\begin{itemize}
\item
"`Eingang"'\\[2pt]
Wo nimmt der Kernel den \lstinline{syscal}-Befehl entgegen?
\medskip
\item
"`Ausgang"'\\[2pt]
Wo ruft der Kernel die Callback-Funktionen der Treibermodule auf?
\medskip
\item
"`Weg durch den Kernel"'\\[2pt]
Was passiert dazwischen?
\end{itemize}
\end{frame}
\end{document}
../common/io-ports-and-interrupts.pdf
\ No newline at end of file
../common/logo-hochschule-bochum-cvh-text-v3.pdf
\ No newline at end of file
../common/logo-hochschule-bochum-de-narrow.pdf
\ No newline at end of file
../common/os-layers-0-planet.jpg
\ No newline at end of file
../common/os-layers-1-model.jpg
\ No newline at end of file
../common/os-layers-2-module.jpg
\ No newline at end of file
../common/os-layers-3-glibc.jpg
\ No newline at end of file
../common/os-layers-5-kernel.jpg
\ No newline at end of file
../common/pgslides.sty
\ No newline at end of file
......@@ -22,6 +22,7 @@ Vortragsfolien und Beispiele:
* [07.04.2025: TCP/IP in der Praxis](https://gitlab.cvh-server.de/pgerwinski/bs/raw/2025ss/20250407/bs-20250407.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/bs/tree/2025ss/20250407/)
* [28.04.2025: Gerätedateien, Einführung Treiberentwicklung](https://gitlab.cvh-server.de/pgerwinski/bs/raw/2025ss/20250428/bs-20250428.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/bs/tree/2025ss/20250428/)
* [05.05.2025: Linux-Kernel-Module, Systembibliothek](https://gitlab.cvh-server.de/pgerwinski/bs/raw/2025ss/20250505/bs-20250505.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/bs/tree/2025ss/20250505/)
* [12.05.2025: Systembibliothek, Kernel](https://gitlab.cvh-server.de/pgerwinski/bs/raw/2025ss/20250512/bs-20250512.pdf) [**(Beispiele)**](https://gitlab.cvh-server.de/pgerwinski/bs/tree/2025ss/20250512/)
* [alle in 1 Datei](https://gitlab.cvh-server.de/pgerwinski/bs/raw/2025ss/bs-slides-2025ss.pdf)
Notizen:
......
No preview for this file type
......@@ -20,4 +20,6 @@
\includepdf[pages=-]{20250428/bs-20250428.pdf}
\pdfbookmark[1]{05.05.2025: Linux-Kernel-Module, Systembibliothek}{20250505}
\includepdf[pages=-]{20250505/bs-20250505.pdf}
\pdfbookmark[1]{12.05.2025: Systembibliothek, Kernel}{20250512}
\includepdf[pages=-]{20250512/bs-20250512.pdf}
\end{document}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment