Systemprogrammierung (SP)

<- zurück zur Übersicht

Beschreibung:

Das Modul Systemprogrammierung gibt eine Einführung in die Programmiersprache C, verbunden mit der Vermittlung von grundlegenden Techniken der Systemprogrammierung am Beispiel von Betriebssystemen.

Systemprogrammierung setzt sich aus den Veranstaltungen Systemprogrammierung 1 (SP1) und Systemprogrammierung 2 (SP2) zusammen.

Inhalt von SP1 sind die Einführung in C, eine kurze Motivation zu Betriebssystemen, Rechnerorganisation (Schichtenstruktur, Assembliersprache, Maschinenprogramme, Betriebssystemebene),  Betriebssystemkonzepte (Arbeitspeicher, Massenspeicher, Prozesse), und Betriebsarten (Stapelverabeitung, Dialogverarbeitung).

In SP2 werden die Konzepte aus SP1 vertieft. Inhalt sind die Prozesseverwaltung (Einplanungskriterien, Einplanungsverfahren, Einlastung), Prozesssynchronisation (Nichtsequentialität, Prozesssynchronisation in Hochsprachen-, Maschinenprogramm-, und Befehlsatzebene), Betriebsmittelverwaltung, Speicherverwaltung (Adressraumkonzepte, Zuteilungsverfahren, Spechervirtualsierung), und Dateisysteme.

Die Modulnote setzt sich zu 100% aus der Klausur nach Abschluss von SP2 zusammen. Der Prüfungstermin ist meist im ersten Prüfungsraum zu Beginn der Semesterferien angesiedelt. In der Klausur können insgesamt 120 Punkte erreicht werden. 60 Punkte alleine bestehen aus Programmieren. Die andere Hälfte der Punktzahl setzt sich aus Multiple Choice Fragen und Theoriefragen zusammen. Als Hilfmittel ist ein beidseitiges handbeschriebenes DIN-A4 Blatt zulässig. Die Klausurnote kann durch gesammelte Bonuspunkte aus SP1 und SP2 verbessert werden. Bonuspunkte werden ausschließlich für die in den Übungen und Miniklausur erreichten Punkte (maximal 12 Bonuspunkte) vergeben. Die Miniklausur findet zu Beginn von SP2 statt und deckt den Stoff von SP1 ab.

Jede Woche ist eine neue Übungsaufgabe zu bearbeiten. Insgesamt gibt es 6 Übungsaufgaben in SP 1 und 5 Übungsaufgaben in SP 2. Manche Übungsaufgaben können in 2er-Gruppen bearbeitet werden. Die Übungsaufgaben dienen zum einen, um Bonuspunkte für die Klausur zu sammeln, als auch das Programmieren von Systemprogrammen zu erlernen.

Die Übungen umfassen Tafel- und Rechnerübungen. In den Tafelübungen werden theoretische Grundlagen vermittelt, die für die Lösung der Programmieraufgaben erforderlich sind. Es besteht eine Anwesenheitspflicht in den Tafelübungen. Zu Beginn der Tafelübungen werden ein oder auch mehrere Teilnehmer aufgefordert ihre gelösten Übungsaufgaben vorzustellen. Bei Nichtanwesenheit oder nicht ausreichender Erklärung der Aufgabe wird die Aufgabe mit 0 Punkten bewertet. Die Anmeldung zu den Tafelübungen erfolgt über das Waffel-System. Die Rechnerübungen können freiwillig besucht werden. Es steht ein Betreuer zur Verfügung, der bei Bedarf Hilfestellung zu den Aufgaben gibt. 

Tipps zur Veranstaltung/Klausur:

  • Macht euch mit UNIX vertraut, bei der FSI Informatik gibt hierzu einen UNIX-Einführungskurs.
  • Das Programmieren der Übungsaufgaben ist sehr zeitaufwändig.
  • Die Klausur besteht zur Hälfte aus einer Programmieraufgabe, versucht deshalb über die Übungsaufgaben das Programmieren in C und den Umgang mit UNIX-Systemaufrufen anzueignen.
  • Man sagt: Wer SP erfolgreich abgeschlossen hat, der kann programmieren und wird keine weiteren Schwierigkeiten im Programmieren während des Studiums haben.

 Literatur