• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Suche öffnen
  • English
  • Campo
  • StudOn
  • FAUdir
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
Friedrich-Alexander-Universität Lehrstuhl für Informatik 4 (Systemsoftware)
Menu Menu schließen
  • Lehrstuhl
    • Team
    • Aktuelles
    • Kontakt und Anfahrt
    • Leitbild
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Confidential Computing
      • Eingebettete Systemsoftware
      • Verteilte Systeme
    • Projekte
      • AIMBOS
      • BALu
      • BFT2Chain
      • DOSS
      • Mirador
      • NEON
      • PAVE
      • ResPECT
      • Watwa
    • Projektkampagnen
      • maRE
    • Seminar
      • Systemsoftware
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2025
      • Applied Software Architecture
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • System-Level Programming
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2024/25
      • Betriebssysteme
      • Middleware – Cloud Computing
      • Systemprogrammierung 2
      • Verlässliche Echtzeitsysteme
      • Virtuelle Maschinen
      • Web-basierte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Lehre
  3. Wintersemester 2024/25
  4. Systemprogrammierung 2
  5. FAQ

FAQ

Bereichsnavigation: Lehre
  • Systemprogrammierung 2
    • Vorlesung
      • Übung
        • # Anmeldung
        • # Termine
        • # Übungsfolien
        • # Aufgaben
        • # Miniklausur
        • # Häufige Fehler
        • # Literatur
      • GitLab Tests
        • Semesterplan
          • FAQ
            • Prüfungsinformationen
              • Alte Klausuren
                • Kontakt
                  • Evaluation
                    • Intern

                    FAQ

                    Systemprogrammierung 2 - Häufig gestellte Fragen

                    Prüfung

                    Die folgenden Informationen betreffen nur die SP2-Klausur und nicht die SP1-Klausur.

                    Bonuspunkte?

                    Die Bonuspunkte werden aus den Übungspunkten errechnet, die Sie in den Lehrveranstaltungen zu SP1 und SP2 sammeln können. Hierzu zählen einerseits die Übungsaufgaben und andererseits (anteilig) die Miniklausur, die zu Beginn des Semesters im Rahmen der SP2-Vorlesung über den Stoff von SP1 geschrieben wird. Die Bonuspunkte beeinflussen die angelegte Notenskala nicht, sondern werden nach erfolgter Klausurkorrektur auf die regulären Klausurpunkte einer bestandenen Klausur aufaddiert. Ihre in den Übungen erreichten Punkte können Sie im Waffel nach Login abrufen. Bitte prüfen Sie vor eventuellen Rückfragen, ob bereits Punkte für alle Aufgaben in Ihrem Konto eingetragen wurden. Bei Unstimmigkeiten wenden Sie sich bitte an die SP-Mailingliste (Organisation).

                    Berechnung der Bonuspunkte?

                    Die Bonuspunkte berechnen sich nach der folgenden Formel: Beschreibung der einzelnen Teile:

                    Tatsächlich erreichte Übungspunktezahl

                    Maximal erreichbare Übungspunktezahl

                    Maximal mögliche Bonuspunkte (10% der Klausurpunkte)

                    Für die SP2-Klausur können daher maximal 12 Bonuspunkte gesammelt werden. Die so berechneten Bonuspunkte werden im Anschluss auf 0.5 Punkte aufgerundet.

                    Verfall der Bonuspunkte?

                    Die Bonuspunkte aus einem vorherigen SP1 oder SP2-Semester verfallen jeweils nur, wenn in einem späteren Semester erneut am jeweiligen Übungsbetrieb (SP1/SP2) teilgenommen wird. Es zählen immer die Punkte aus dem Semester, in dem zuletzt (mindestens) eine Abgabe im jeweiligen Übungsbetrieb gemacht wurde. Eine Studentin, die also beispielsweise im SS21 am SP1-Übungsbetrieb teilnimmt, im WS21 am SP2-Übungsbetrieb, und im WS22 erneut am SP2-Übungsbetrieb, bekäme auf die SP2-Klausur danach die Bonuspunkte aus SS21 (SP1) plus WS22 (SP2) angerechnet. Ob die Klausur in diesem Fall direkt nach dem WS22 oder erst später abgelegt wird, ist egal, solange sie nicht erneut am Übungsbetrieb teilnimmt.

                    Zugelassene Hilfsmittel?

                    Genaue Infos hierzu finden Sie auf der Seite "Prüfungsinformationen".

                    Übung

                    Anmeldung für die Tafelübung?

                    Die Anmeldung für die Tafelübungen findet in einer den ersten Wochen der Vorlesungszeit im Windhundverfahren statt: waffel.

                    Bedeutung der Miniklausur?

                    Die Miniklausur entspricht einer "normalen" Übungsaufgabe mit maximal 15 Punkten. Berechnungsformel für die entsprechende Übungspunktezahl:

                    Mein Programm tut nicht was es soll!

                    Oft sind Warnungen des Übersetzers ein Hinweis auf Fehler im Programmcode. Daher ist es zielführend, die Warnungen des Übersetzers nicht zu ignorieren. Manchmal hilft es aber auch zusätzliche Warnungen des Übersetzers zu aktivieren.
                    • -Wextra: Einige zusätzliche Warnungen.
                    • -Wshadow: Warnung, falls eine lokale Variable eine Variable eines äußeren Blocks verdeckt.
                    • -Wformat=2: Zusätzliche Überprüfungen von Formatstrings
                    • -Wlogical-op: Warnung bei potentiellem Vertauschen von logischen und bitweisen Operationen
                    • ...und noch mehr
                    Beim Entkäfern deines Programms sind folgende Utensilien hilfreich. Einfache aber weniger mächtige Tools zuerst:
                    • clang-format [--dry-run] -i myprogram.c: Editiert die Datei und formatiert den Code entsprechend eines einheitlichen Stils. Wenn Sie Probleme haben, ihren Code übersichtlich zu halten (Einrückung etc.) kann dies die Übersichtlichkeit erhöhen und die Fehlersuche beschleunigen. indent --linux-style source.c another_source.c erfüllt den selben Zweck, editiert jedoch nur Einrückung & Klammerpositionen.
                    • cppcheck -x c --std=c11 -I. -i/usr/include --enable=all --suppress=missingIncludeSystem myprogram.c findet durch statische Analyse u.a. undefiniertes Verhalten mit wenigen False-Positives.
                    • clang-tidy myprogram.c findet Muster im Code die häufig in Programmfehlern resultieren. Einige Warnungen sind für die Entwicklung von POSIX-Konformen Programmen nicht hilfreich, verwenden Sie diese .clang-tidy Konfigurationsdatei um sie zu deaktivieren.
                    • valgrind --leak-check=full --show-leak-kinds=all ./mybinary: Prüft auf ungültige Speicherzugriffe und erkennt/lokalisiert Speicherleaks.
                    • Durch das Compilieren mit -D_FORTIFY_SOURCE=1 in den CFLAGS werden Pufferüberläufe in Bibliotheksfunktionen teilweise erkannt.
                    • Mit dem clang ThreadSanitizer können Wettlaufsituationen gefunden werden. Kompilieren und linken Sie hierzu Ihr Programm mit CC=clang und EXTRA_CFLAGS=-fsanitize=thread -g -O1 und führen Sie es aus.
                    • Helgrind kann Synchronisationsprobleme finden.
                    • Der clang AddressSanitizer kann ähnlich zu valgrind Speicherfehler finden. Kompilieren und binden Sie dazu Ihr Programm mit CC=clang, LD=clang, und EXTRA_CFLAGS=-fsanitize=undefined,leak,address,nonnull-attribute -fno-omit-frame-pointer -g -O1 und führen Sie es aus.
                    • Compiler Explorer (godbolt.org) erlaubt es einem einfach zu sehen, zu welchem Maschinencode C Programme kompiliert werden und wie sich C in bestimmten Situationen genau verhält.
                    • GDB: Der Debugger 😉
                    Bei Fragen zur Benutzung der Tools empfiehlt sich der Besuch der Rechnerübung. Welche Tools finden Sie am einfachsten und nützlichsten? Geben Sie uns Feedback!
                    Friedrich-Alexander-Universität
                    Erlangen-Nürnberg

                    Schlossplatz 4
                    91054 Erlangen
                    • Impressum
                    • Datenschutz
                    • Barrierefreiheit
                    • Facebook
                    • RSS Feed
                    • Xing
                    Nach oben