\documentclass{article}
\usepackage{exam}
\paper{Angewandte Informatik} % <- do not include FC, FT etc
\version{0}                     % <- only needed for multiple choice exams
\title{Manuel Traut}
\time{60}                      % <- number of hours: default is three
\semester{Sommersemester}
\year{2011}                     % <- default is the current year
\campus{-}
\note{Beantworten Sie alle Fragen. Es sind keine Hilfsmittel zugelassen.}
\version{12. Juli 2011}
\begin{document}
\begin{questions}
\question Was versteht man unter dem Begriff 'Kernelpatch'?
\marks{1}

\question F\"ur die Linuxkernelentwicklung wurde das Versionskontrollsystem git
entwickelt. Nennen Sie 6 Vorteile von git f\"ur die Linuxkernelentwicklung.
\marks{3}

\question Beschreiben Sie den Releasezyklus des Linuxkernels. Erkl\"aren Sie in
diesem Zusammenhang auch die Begriffe 'Release Candidate', 'Release', 'stable
Kernel', 'staging' und 'next'.
\marks{6}

\question Sie haben zwischen rcN und rcN+1 Ihre Kernelkonfiguration nicht
ver\"andert. Kernel rcN funktioniert auf Ihrem Laptop, rcN+1 l\"auft in einen BUG,
bevor der Initprozess angesprungen werden kann. Wie gehen Sie vor, damit auch
zuk\"unftige Linuxkernel auf Ihrem Laptop booten?
\marks{3}

\question Linux l\"auft auf kleinen embedded Systemen, wie z.B. dem in der
Vorlesung benutzten ARM basierten beagleboard, aber auch auf x86 Servern mit
z.B. 64 CPUs und 32 GB RAM. Mit welchen Systemen und Methoden konnte diese
Flexibilit\"at erreicht werden?
\marks{3}

\question Welche Hardware muss vom Bootloader initialisiert werden, damit ein
Linuxkernel korrekt bootet?
\marks{4}

\question Linux ist ein monolithischer Kernel. Beschreiben Sie die Aufgaben des
Kernels und markieren Sie die Aufgaben, welche typischerweise in einem
Microkernel nicht im Kern implementiert sind.
\marks{4}

\question Ein von Ihnen entwickelter Kerneltreiber funktioniert nicht, welche
Debuggingm\"oglichkeiten haben Sie? Beschreiben Sie 2 Methoden / Nennen Sie
jeweils Vor- und Nachteile.
\marks{6}

\question Das Linuxtreibermodell kennt verschiedene Treiberarten. Worin besteht
der Unterschied zwischen einem 'platform\_device\_driver' und einem
'pci\_device\_driver'?
\marks{4}

\question Es ist technisch m\"oglich ein ext3 Dateisystem mit Hilfe des MTD-block
Treibers auf einem lokalen NAND Flash zu betreiben. Weshalb macht es keinen
Sinn?
\marks{2}

\question Nennen Sie je einen Vor- und Nachteil eines Threaded
Interrupthandlings.
\marks{2}

\question In Kernelversion 2.6.39 wurde die Big Kernel Lock komplett eliminiert.
Wozu diente die Lock und weshalb bestand Interesse die Lock zu ersetzen?
\marks{4}

\question Erkl\"aren Sie das 'Priority Inversion' Problem und wie diese
Problematik mittels 'Priority Inheritance' entsch\"arft werden kann.
\marks{5}

\question Ihnen wird berichtet, dass die letzten Ausgaben eines Linuxsystems in
etwa:
'Freeing init memory: 120K'
lauten. Nennen Sie 4 m\"ogliche Ursachen.
\marks{2}

\question Sie wollen ein embedded System komplett aus dem 64 MByte gro\ss en NOR
Flash betreiben. Beschreiben Sie, z.B. anhand einer Skizze, welche
Kernelsubsysteme / Treiber Sie verwenden w\"urden und wie Sie den Speicher
den einzelnen Kernelsystemen / -treibern zuordnen w\"urden.
\marks{5}

\end{questions}
\end{document}
