From e44e41aebe9ca7219e032a398b4b584e2c3162e9 Mon Sep 17 00:00:00 2001
From: Manuel Traut <manut@mecka.net>
Date: Tue, 2 Jul 2013 14:51:31 +0200
Subject: changed for pruefung 2013

Signed-off-by: Manuel Traut <manut@mecka.net>
---
 pruefung.tex | 108 +++++++++++++++++++++++------------------------------------
 1 file changed, 41 insertions(+), 67 deletions(-)

(limited to 'pruefung.tex')

diff --git a/pruefung.tex b/pruefung.tex
index b42f45d..cc0a827 100644
--- a/pruefung.tex
+++ b/pruefung.tex
@@ -1,12 +1,12 @@
 \documentclass[addpoints,12pt]{exam}
 
-\usepackage{german}
+\usepackage{ngerman}
 \usepackage{listings,color}
 \usepackage{graphicx}
 
 \firstpageheadrule
 \runningheadrule
-\lhead{Manuel Traut\\SoSe 2012}
+\lhead{Manuel Traut\\SoSe 2013}
 \chead{Hochschule Ravensburg-Weingarten\\Linux-Kernelprogrammierung}
 \rhead{MatrNr:\\Datum:}
 
@@ -33,7 +33,7 @@ von \pointsonpage{\thepage} Punkten}
 \begin{titlepage}
 \title{Pr\"ufung Linux-Kernelprogrammierung}
 \author{Dozent: Manuel Traut}
-\date{19. Juli 2012 10:30 Uhr\\Raum H238}
+\date{02. Juli 2013 16:30 Uhr\\Raum H143}
 \maketitle
 \begin{center}
 Hochschule Ravensburg-Weingarten
@@ -72,103 +72,77 @@ MatrNr:\enspace\hrulefill
 
 \begin{questions}
 
-\section{Entwicklungsmodell}
+\section*{Entwicklungsmodell}
 
-\question[1] Was versteht man unter dem Begriff 'Kernelpatch'?
+\question[3] Was versteht man unter dem Begriff 'Kernelpatch'? Wie wird ein
+  Patch erstellt und angewendet?
 
-\question[3] F\"ur die Linuxkernelentwicklung wurde das
+\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] Was ist zu beachten?
+\part[2] Wann wird der Code aus diesem Ordner gel\"oscht / verschoben?
 \end{parts}
 
-\question[4] Beschreiben Sie die Aufgaben und die Verantwortung eines Linux
-Kernelmaintainers.
-
-\section{Tools}
+\section*{Tools}
 
 \question
 \begin{parts}
 \part[1] Welches Tool ist auf folgendem Bild zu sehen?
-\part[3] Warum ist es nicht denkbar die Linux-sourcen ohne ein solches Tool zu
-	compilieren?
-\part[4] Welche Einstellungen können mit Hilfe dieses Tools konfiguriert werden?
-	(beschreiben Sie Kategorien)
+\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
+\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
 
-\section{Plumbing Layer}
-
-\question [2] Sie starten ein Linuxsystem. Die letzten Ausgaben lauten:
-               'freeing memory, loading init'
-              Nennen Sie 2 m\"ogliche Ursachen.
-
-\question [2] In 3.4-rc2 wurde die sogenannte x32 system call ABI Patche
-  gemerged. Welche Funktionalit\"at haben diese eingef\"uhrt?
-  (grobe Beschreibung)
-
-\section{Programmierung}
-
-\question Zusammenspiel des Linuxtreibermodels:
+\question[5] Was mu\ss \space ein Bootloader tun um Linux zu booten?
 
-Denken Sie dabei an die Strukturen 'Bus', 'Device' und 'Driver';
-Beschreiben Sie:
-\begin{parts}
-\part [1] Wie kann die Zust\"andigkeit eines Treibers f\"ur ein Ger\"at
-  ausgedr\"uckt werden?
-\part [2] Was wird typischerweise in einer register\_* Funktion gemacht?
-\part [3] Wozu dient eine *probe Funktion?
-\end{parts}
+\section*{Programmierung}
 
-\question Sie wollen einen SPI LED Baustein (erm\"oglicht das Steuern von 16
-LEDs - an, aus, Helligkeit - mittels SPI Kommandos) an Ihr embedded Linux
-Board anschliessen. Alle Treiber f\"ur Ihr Board sind bereits im Mainline Linux
-enthalten. Allerdings gibt es noch keine Unterst\"utzung f\"ur Ihren LED
-Baustein. Sie haben ein Datenblatt vom Hersteller des LED Bausteins, der die
-unterst\"utzen SPI Befehle beschreibt. Was tun Sie nun?
-\begin{parts}
-\part [10] Beschreiben Sie 2 M\"oglichkeiten, wie Sie den LED Baustein per
-           Software integrieren k\"onnten. Nennen Sie jeweils Vor- und
-           Nachteile. Markieren Sie die M\"oglichkeit welche Sie f\"ur am
-           sinnvollsten erachten und f\"ur die Beantwortung der nachfolgenden
-           Fragen als Basis nutzen.
-
-\part [3] Welche Dateien im Linuxkernel werden Sie modifizieren / anlegen ?
-\part [2] Wie k\"onnen die LEDs vom Kernel aus geschalten werden?
-\part [5] Wie k\"onnen die LEDs vom Userspace aus geschalten werden?
-           Skizzieren Sie auch den Weg durch beteiligten Kernelsubsysteme.
-\end{parts}
+\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?
-\part [2] Sie wollen Ihren Treiber in Mainline Linux integriert haben, wie gehen
-	Sie vor?
+\part[3] Welche Einschr\"ankungen gelten?
+\part[2] Mu\ss \space der komplette Quellcode des Treibers ver\"offentlicht
+  werden?
 \end{parts}
 
-\section{Rootfilesystem}
+\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}
 
-\question Sie haben ein System mit 256 MB NAND Flash und sollen ein
-  GNU/Linux Userspace (ohne Xorg, etc) einrichten. Es sollen g\"angige Tools
-  f\"ur Netzwerk, Bluetooth und Audio vorhanden sein.
+\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 [2] Wie erstellen Sie das Rootfilesystem ? (Tools, Steps, Pseudocode)
-\part [6] Sie haben einen u-boot Bootloader und k\"onnen aus Flash und von SD
-           Card booten. Das Rootfilesystem soll zuk\"unftig auf einem ubifs
-           liegen. Wie gehen Sie vor? (Tools, Steps, Befehle)
+\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}
 
-- 
cgit v1.2.3

