summaryrefslogtreecommitdiff
path: root/2013-pruefung.tex
diff options
context:
space:
mode:
Diffstat (limited to '2013-pruefung.tex')
-rw-r--r--2013-pruefung.tex154
1 files changed, 154 insertions, 0 deletions
diff --git a/2013-pruefung.tex b/2013-pruefung.tex
new file mode 100644
index 0000000..cc0a827
--- /dev/null
+++ b/2013-pruefung.tex
@@ -0,0 +1,154 @@
+\documentclass[addpoints,12pt]{exam}
+
+\usepackage{ngerman}
+\usepackage{listings,color}
+\usepackage{graphicx}
+
+\firstpageheadrule
+\runningheadrule
+\lhead{Manuel Traut\\SoSe 2013}
+\chead{Hochschule Ravensburg-Weingarten\\Linux-Kernelprogrammierung}
+\rhead{MatrNr:\\Datum:}
+
+\firstpagefootrule
+\runningfootrule
+\firstpagefooter{Page \thepage\ of \numpages}
+{}
+{Punkte: \makebox[.5in]{\hrulefill}\\
+von \pointsonpage{\thepage} Punkten}
+
+\runningfooter{Page \thepage\ of \numpages}
+{}
+{}
+
+\pagestyle{headandfoot}
+
+\pointsinrightmargin
+\pointpoints{Punkt}{Punkte}
+
+\begin{document}
+
+
+\begin{coverpages}
+\begin{titlepage}
+\title{Pr\"ufung Linux-Kernelprogrammierung}
+\author{Dozent: Manuel Traut}
+\date{02. Juli 2013 16:30 Uhr\\Raum H143}
+\maketitle
+\begin{center}
+Hochschule Ravensburg-Weingarten
+\vspace{1cm}
+
+Dauer: 60 Minuten, erlaubte Hilfsmittel: keine
+\end{center}
+
+\vspace{2cm}
+Name:\enspace\hrulefill
+\vspace{2cm}
+MatrNr:\enspace\hrulefill
+\begin{center}
+\begin{lstlisting}
+ a8888b.
+ d888888b.
+ 8P"YP"Y88 (((((((())))))))))
+ 8|o||o|88 ||VIEL ERFOLG !!||
+ 8' .88 ((((((((((((()))))
+ 8`._.' Y8.
+ d/ `8b.
+ .dP . Y8b.
+ d8:' " `::88b.
+ d8" `Y88b
+ :8P ' :888
+ 8a. : _a88P
+ ._/"Yaa_ : .| 88P|
+ \ YP" `| 8P `.
+ / \._____.d| .'
+ `--..__)888888P`._.'
+\end{lstlisting}
+\end{center}
+\end{titlepage}
+\end{coverpages}
+
+
+\begin{questions}
+
+\section*{Entwicklungsmodell}
+
+\question[3] Was versteht man unter dem Begriff 'Kernelpatch'? Wie wird ein
+ Patch erstellt und angewendet?
+
+\question[4] F\"ur die Linuxkernelentwicklung wurde das
+ Versionskontrollsystem git entwickelt. Nennen Sie mind. 4 gravierende
+ Unterschiede zu Versionskontrollsystemen wie cvs oder svn.
+
+\question[6] Beschreiben Sie den Releasezyklus/Versionierung des Linuxkernels
+ (seit v3.0). Verwenden Sie in diesem Zusammenhang die Begriffe:
+ 'Release', 'stable Kernel', 'Release Candidate', 'merge window'
+
+\question Im Linuxsourcetree gibt es einen Ordner 'staging'.
+\begin{parts}
+\part[1] Was findet man in diesem Ordner?
+\part[2] Wann wird der Code aus diesem Ordner gel\"oscht / verschoben?
+\end{parts}
+
+\section*{Tools}
+
+\question
+\begin{parts}
+\part[1] Welches Tool ist auf folgendem Bild zu sehen?
+\part[1] \"Uber welche Datei wird der Inhalt / Struktur des Tools gesteuert?
+\part[8] Welche Einstellungen k\"onnen mit Hilfe dieses Tools konfiguriert
+ werden? (beschreiben Sie 4 Kategorien)
+\end{parts}
+
+\includegraphics[height=0.3\textwidth]{./images/kconfig.png}
+
+\question[6] Ein von Ihnen entwickelter Kerneltreiber funktioniert nicht wie
+erwartet. Welche Debugingm\"oglichkeiten haben Sie?
+
+Nennen Sie mindestens zwei und beschreiben Sie Vor- und Nachteile
+
+\question[5] Was mu\ss \space ein Bootloader tun um Linux zu booten?
+
+\section*{Programmierung}
+
+\question[6] Kernel- und Userspace arbeiten in unterschiedlichen
+ Addressr\"aumen. Nennen Sie 3 M\"oglichkeiten, wie Daten zwischen den
+ Bereichen ausgetauscht werden k\"onnen. Nennen Sie jeweils typische
+ Verwendung, gegebenenfalls Einschr\"ankungen.
+
+\question Das Kernelsubsystem 'Userspace-IO' (UIO) kann zur Entwicklung eigener
+ Treiber verwendet werden.
+\begin{parts}
+\part[3] Welche Einschr\"ankungen gelten?
+\part[2] Mu\ss \space der komplette Quellcode des Treibers ver\"offentlicht
+ werden?
+\end{parts}
+
+\question Sie wollen Ihren eigenen Treiber in Mainline Linux integriert
+ haben.
+\begin{parts}
+\part[4] Was \"ubermitteln Sie auf welchem Weg wohin?
+\part[2] Wie wird die Qualit\"at Ihres Treibers gepr\"uft, wie reagieren Sie
+ gegebenenfalls auf Beanstandungen?
+\end{parts}
+
+\section*{Rootfilesystem}
+
+\question Sie haben ein ARM embedded System mit 256 MB NAND Flash und sollen ein
+ GNU/Linux Userspace einrichten. Es soll Netzwerk, Bluetooth und Audio
+ Unterst\"utzung vorhanden sein.
+\begin{parts}
+\part [3] Aus welchen Komponenten besteht das Rootfilesystem?
+\part [2] Wie erstellen Sie ein Rootfilesystem f\"ur dieses System?
+\part [1] Was mu\ss \space beim \"Ubertragen der Daten auf das Zielmedium
+ beachtet werden?
+\end{parts}
+\end{questions}
+
+\vspace{1cm}
+Punkte: \_\_\_\_ von \numpoints
+\hspace{1cm}
+Note:
+
+\end{document}