Projekt: System- und Rechnerarchitektur
- Semester:
- Sommersemester
- Anrechenbar im:
- Master
- Leistungspunkte
- 6
- Dozent:
- Daniel Lohmann
- Betreuer:
- Florian Rommel, Gerion Entrup
- Zeit/Raum:
- Montag, 15:00 bis 16:30 Uhr (erster Termin am 16.04.), SRA Seminarraum (Raum 135, Appelstr. 4, 1.OG)
- Stud.IP-Veranstaltung:
Am Montag den 16.04. um 15 Uhr findet die erste Veranstaltung statt. Weitere Präsensveranstaltungen finden in unregelmäßigen Abständen statt. Es wird außerdem zusätzliche Laborzeit am Donnerstagnachmittag (ab 14 Uhr) angeboten.
Inhalt
In diesem Labor werden Fertigkeiten vermittelt, um sich direkt an der Entwicklung von Open-Source-Projekten – im Speziellen des Linux-Kernels – zu beteiligen. Zusätzlich wird eine Einführung in die interessante Welt der system- und hardwarenahe Softwareentwicklung geboten. Der Einsatz der verschiedenen Werkzeuge wird während der Bearbeitung der praxisnahen Aufgaben erlernt: So muss auch mal der Lötkolben geschwungen werden, um ein Hardwaregerät zu erstellen, das dann anschließend durch einen eigenen Treiber in Linux einzubinden ist. Darüber hinaus werden die Arbeitsmethoden von Open-Source-Projekten eingeübt. (Im Rahmen des Labors sollen z.B. auch echte Beiträge zum Linux-Kernel entstehen).
Folgende Themen werden behandelt:
- Umgang mit Versionskontrollsystemen (Git)
- Funktionsweise der Konfigurations- und Übersetzungssysteme des Linux-Kernel
- Fehlersuche und -behebung in Systemsoftware (Vorgehensweise, QEMU, KGDB, etc.)
- Arbeitsmethoden der Open-Source Community (Wie bekomme ich einen Patch akzeptiert?)
- Umgang mit der Hardware (Entwicklung eines Linux-Treibers für ein selbstgebautes Gerät)
Teilnehmer das Labores werden für Linux Verbesserungen entwickeln können, Hardware besser verstehen und Treiber dafür schreiben können. Es werden in regelmäßigen Abständen Aufgaben gestellt, die in Gruppen bearbeitet werden.
Aufgaben
- Aufgabe 1 (16.04.): Kernel Debugging
- Aufgabe 2 (23.04.): Fehler im Linux-Kernel finden und beheben
- Aufgabe 3 (07.05.): Interaktion mit der Linux Kernel Mailing List (LKML)
- Aufgabe 4 (14.05.): Temperatursensor: Von der Hardware bis zum Treiber
- Aufgabe 5 (11.06.): MeltUP: Capture the flag
Semesterplan
Woche | Mo 15:00 | Do 14:00 |
---|---|---|
16.04 | Ü1Arbeitsumgbebung & Kernel-Debugging | RÜ |
23.04 | Ü2Git / Kernel Entwicklung | RÜ |
30.04 | A1Abgabe 1 | |
07.05 | Ü3Git / Kernel Entwicklung | RÜ |
14.05 | Ü4Treiberentwicklung | RÜ |
21.05 | ||
28.05 | RÜ | |
04.06 | A2Abgabe 2 | |
11.06 | Ü5MeltUP - Capture the flag | A4Abgabe 4 |
18.06 | RÜ | |
25.06 | RÜ | |
02.07 | RÜ | |
09.07 | RÜ | |
16.07 | Ü6Vorstellung der LKML-Patches A3Abgabe 3 A5Abgabe 5 |
In der Tafelübung (ÜXÜbung X) wird die jeweils nächste Aufgabe vorgestellt und die nötigen Inhalte vermittelt. Jeden Donnerstag gibt es eine betreute Rechnerzeit (RÜ). In den Rechnerübungen werden keine neuen Inhalte vermittelt – sie müssen daher nicht unbedingt besucht werden. Bei Fragen könnt ihr euch auch außerhalb der Rechnerzeiten jederzeit an einen der Betreuer wenden. Die Abgabetermine (AXAbgabe X) sind entweder zu den Rechnerübungsterminen oder in der Tafelübung.
Evaluation
Literatur
- Git. Verteilte Versionsverwaltung für Code und Dokumente
-
Open Source Press2011978-3941841420.
[BibTex]
Artikel auf LWN.net
Anmeldung und weitere Infos
Für diese Veranstaltung ist eine Online-Anmeldung über Stud.IP erforderlich. Bitte registrieren Sie sich (falls noch nicht geschehen) für Stud.IP und tragen Sie sich dort in die entsprechende Veranstaltung ein.
Stud.IP Veranstaltungen
Projekt System- und Rechnerarchitektur