blob: cc0a827bef59211155c883c9efb9219d28b4948d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
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}
|