Praktikum - Betriebssysteme - Linux und L4-Mikrokern (IN0012, IN2106, IN4156)

Vortragende/r (Mitwirkende/r)
Nummer0000001490
ArtPraktikum
Umfang6 SWS
SemesterSommersemester 2017
UnterrichtsspracheDeutsch
Stellung in StudienplänenSiehe TUMonline
TermineSiehe TUMonline

Termine

Teilnahmekriterien & Anmeldung

Lernziele

- Tieferes Verstaendnis des Zusammenspiels von den einzelnen Komponenten in einem Betriebssystem - Treiberentwicklung (bei Bedarf) - Teamarbeit und eigenverantwortliche Projekte - Tieferes Verstaendnis fuer den Entwicklungsprozess eingebetteter Systeme - Entwicklung von Anwedungen zur Verarbeitung von Sensor/Aktor-Daten

Beschreibung

Die Veranstaltung fuehrt in die grundlegenden Aufgaben eines Betriebssystems ein. Diese Aufgaben lassen sich grundlegend in die Bereiche Systemcalls, Device Drivers, I/O Management, Processing und Memory Management unterteilen. Dieser Einteilung folgt die Veranstaltung als roter Faden. Der erste groessere Bereich befasst sich mit der Einfuehrung in die Architektur des Linux Kernels und seinen Besonderheiten. Hierbei soll anhand des Linux Kernels die grundlegen Aufgaben eines Betriebssystems veranschaulicht werden. Abschliessend folgt in diesem Bereich eine Uebersicht ueber diverse Lock-Mechanismen fuer den konkurrierenden Zugriff von Resourcen innerhalb des Linux Kernels. Der zweite Block fuehrt in die Mikrokernel Architektur der L4 Familie ein (speziell wird hier der Fiasco.OC Mikrokern verwendet). Nach einer Einfuehrung der wichtigsten Konzepte und Unterschiede zu Linux wird im Folgenden einige Besonderheiten des Fiasco.OC in Bezug auf Resourcenverwaltung angesprochen. Darueber hinaus wird ein weiterer Punkt, die Interprozess-Kommunikation, ausfuehrlicher behandelt. Die Speicherbehandlung des Fiasco.OC steht im Mittelpunkt des dritten Abschnitts in diesem Block. Mit der Behandlung von Erweiterten Themen wird diese Einheit abgeschlossen. Nach der Behandlung zwei grundlegender Kernel-Konzepte soll aufbauend auf dem Wissen ueber den Fiasco.OC Mikrokern das Genode Operating System Framework (kurz: Genode) betrachtet werden. Genode bietet hierbei die Moeglichkeit mehrere Kernel, darunter den Fiasco.OC, durch eine homogene Softwareschnittstelle zu verwalten und die Kernel durch eine Userland zu ergaenzen. Hierbei wird in diesem Block sowohl die Einleitung bzw. Hinfuehrung zu Genode, als auch die Uebersicht grundlegender Softwarebausteine gegeben. Der Anwendungsrahmen dieses Praktikums befindet sich im Automotiven Umfeld.

Inhaltliche Voraussetzungen

- IN0009 oder IN0034 oder eine vergleichbare Veranstaltung mit Schwerpunkt Betriebssysteme - Gutes Verstaendnis der Programmiersprache C/C++ - Vertraut mit den grundlegenden Werzeugen von Linux wie ls, rm, grep, tar - Geuebt im Umgang mit den verfuegbaren Texteditoren (z.B. emacs, vi) - Erfahrung mit einer beliebigen Linuxdistribution ist hilfreich aber nicht unbedingt erforderlich

Studien-, Prüfungsleistung

Eine Abschlusspräsentation

Empfohlene Literatur

- D. Bovet, M. Cesati: Understanding the Linux kernel 3rd Edition, O'Reilly 2006 - J. Corbert, A. Rubini, G Kroah-Hartman: Linux Device Drivers 3rd Edition, O'Reilly 2009 - https://os.inf.tu-dresden.de/fiasco/ - http://genode.org/documentation/genode-foundations-15-05.pdf

Links