\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}