Konzepte und Methoden der Systemsoftware (VL)

SS06, 175400
Prof. H. Karl, holger.karl[at]upb.de

Betreuer:
Christian Dannewitz, christian.dannewitz[at]upb.de
Michael Sessinghaus, michael.sessinghaus[at]upb.de

Bachelor, Modul I.3.2 
8 LP/ECTS: 8 (in Kombination mit Übungen)

[Aktuelles] [Ort und Zeit] [Veranstaltungsbeschreibung] [Übungsbetrieb] [Unterlagen] [Zentralübung] [Übungen] [Literatur] [Prüfung] [Verschiedenes]


Aktuelles

      • Klausurnoten KMS der zweiten Klausur im Studinfo. Von der "4,7"-Regelung Betroffene werden noch separat durch email informiert (wird allerdings etwas dauern, da Nachfrage im Prüfungsamt notwendig)!
      • Die korrigierten Hausübungszettel von Blatt 6 können ab Montag, dem 17.07.06 im Sekretariat von Herrn Karl (P1.7.01) abgeholt werden.
      • Folie 61 in Kapitel 7 korrigiert - der Server muss ebenfalls recvfrom/sendto benutzen!
      • Der erste Klausurtermin zur Veranstaltung "Konzepte und Methoden der Systemsoftware" ist der 01.08.2006. Die Klausur findet von 09:00 Uhr bis 12:00 Uhr statt. Die eigentliche Klausurdauer beträgt zwei Stunden. Die zusätzliche Stunde "Zeitpuffer" wird für das Austeilen und Einsammeln der Klausur, sowie der Personenidentifikation benötigt. Sodass mit einer insgesamten Klausurdauer von drei Stunden gerechnet werden muss. Die An- und Abmeldungen sind über StudInfo möglich.
      • Es sei nochmals darauf hingewiesen, dass 2mal vorgerechnet werden MUSS, damit Bonuspunkte angerechnet werden können (siehe Übungsbetrieb)
      • Anmeldungen in anderen Übungsgruppen sind ab sofort NICHT zulässig!
      • Für Ankündigungen/Informationen wird der kms-info Mailverteiler emfohlen (siehe Verschiedenes)

      Ort und Zeit

      Vorlesung:
      Donnerstag 14:00 - 16:00
      Freitag 09:00 - 11:00
      Raum: Audimax

      Zentralübung:
      Dienstag 13:00 (s.t.) - 14:00
      Raum: C 1

      Ersatzvorlesung findet am 29.05.! statt
      Montag 18:00 (s.t.) - 19:30
      Raum: Audimax


      Veranstaltungsbeschreibung

      Betrachtet man Lehrinhalte klassischer Teilgebiete der Informatik wie Übersetzerbau, Betriebssysteme, Datenbanksysteme, Rechnernetze, Verteilte Systeme oder Rechnerarchitektur, so kann man feststellen, dass es immer wieder fundamentale Problemstellungen gibt, die in den einzelnen Gebieten als Varianten auftauchen und dort mit entsprechenden Verfahren gelöst werden. Es liegt daher nahe, diese Einzelphänomene aus ihrem Kontext herauszulösen, ihre Gemeinsamkeiten herauszuarbeiten und sie als allgemeine Phänomene einmalig und grundlegend zu behandeln.

      Ziel der Vorlesung ist die Vermittlung allgemeiner Prinzipien, Konzepte, Methoden und Techniken, wie sie in komplexen HW/SW-Systemen mit Nebenläufigkeit vorzufinden sind. Die Studenten sollen die Gemeinsamkeiten erkennen können und die Prinzipien als grundlegend für das Fach verstehen. Sie sollen insbesondere in Entwurfssituationen diese Methoden sinnvoll einsetzen können.

      Lernziele

      Die Studierenden sollen am Ende der Veranstaltung
      • Verständnis allgemeiner Prinzipien, Konzepte, Methoden und Techniken der Informatik, insbesondere im Bereich systemnaher Software und "eingebetteter" Systeme, erlangt haben,
      • in Entwurfssituationen in der Lage sein, die vorgestellten Methoden sinnvoll einzusetzen, und
      • allgemeine Konzepte auf explizite Situationen anwenden können.

      Themen

      Die Veranstaltung wird folgende Themen behandeln:
      1. Technische Grundlagen, Systemmodell
      2. Gemeinsame Nutzung von Ressourcen
        1. Prozessverwaltung, Threads
        2. Scheduling
        3. Synchronisations- und Kooperationskonzepte
        4. Betriebsmittelverwaltung, Verklemmungen
        5. Speicherverwaltung
      3. Zusammenarbeit zwischen Funktionseinheiten
        1. Kommunikation, Netze, Internet
        2. Parallelverarbeitung, Cluster-Computing

      Übungsbetrieb

      Die Vorlesung KMS wird durch

      • eine Zentralübung (1 SWS)
      • Tutorengruppen (2 SWS)

      begleitet. Diese Veranstaltungen werden benutzt, um Präsenzübungsblätter und Hausübungsblätter zu bearbeiten.

      Präsenzübungsblätter

      Präsenzübungsblätter werden Freitag vor der jeweiligen Übungswoche veröffentlicht. Diese Aufgaben werden in den Tutorengruppen bearbeitet und besprochen. sie dienen der Wiederholung und Vertiefung des in der Vorlesung behandelten Stoffes anhand praktischer Beispiele und der Anwendung des Stoffes. Zusätzlich werden Aufgaben von Teilnehmern vorgerechnet.

      Hausübungsblätter

      In Hausübungsblätter werden eine Reihe von Aufgaben gestellt, die von den Teilnehmern eigenständig zu bearbeiten sind. Als Bearbeitungszeit stehen zwei Wochen zur Verfügung. Die Lösungen zu diesen Hausübungsblätter sind abzugeben und werden von den Tutoren korrigiert. Eine Abgabe in Gruppen von bis zu drei Personen ist möglich. Die in den Hausübungsblättern erworbenen Punkte dienen als Bonsupunkte für die Klausurnote. Voraussetzung für die Anrechnung von Bonuspunkten ist ein Vorrechnen von mind. 2 Aufgaben des Präsenzübungsblattes in der Tutorengruppe.

      Hausübungsblätter sind jeweils Freitags, 12:00 (harte Frist!) im D3-Flur in den Kasten der jeweiligen Übungsgruppe abzugeben. Abgaben per email werden nicht akzeptiert, ebenso keine verspäteten Abgaben!

      Die Lösungen der Hausübungsblätter werden in der Zentralübung besprochen.

      Es wird KEINE Musterlösungen zu Hausübungs- und Präsenzübungsblätter geben!

      Bonuspunkte

      Mit der in der Hausübung erreichten Gesamtpunktzahl ist eine Verbesserung der Note nach folgendem Schlüssel möglich:

      • 35% der Gesamtpunkte => +0,3 Notenschritte
      • 65% der Gesamtpunkte => +0,7 Notenschritte
      • 90% der Gesamtpunkte => +1,0 Notenschritte.

      Die Vorraussetzung für die Notenverbesserung ist das Bestehen der Klausur, sowie das Vorrechnen von Aufgaben in der Präsenzübung.


      Unterlagen

      Es gibt kein Skript. Im Laufe des Semesters werden die Folien der Veranstaltung hier zugänglich gemacht.

      Die PDF Dateien 1 Folie/Seite sind für die Bildschirmansicht, die PDF Dateien 4 Folien/Seite sind für den Ausdruck optimiert.

      Foliensätze zu den einzelnen Kapiteln:

      Kapitel 0: Organisation und Allgemeines[ PDF - 1 Folie/Seite ][ PDF - 4 Folien/Seite ]
      Kapitel 1: Technische Grundlagen[ PDF - 1 Folie/Seite ][ PDF - 4 Folien/Seite ]Lösung zur Assembleraufgabe
      Kapitel 2: Grundbegriffe der Systemsoftware[ PDF - 1 Folie/Seite ][ PDF - 4 Folien/Seite ]

      Antworten zu Fragen Kap. 2

      Kapitel 3: Scheduling (Ablaufplanung)[ PDF - 1 Folie/Seite ][ PDF - 4 Folien/Seite ]

      Antworten zu Fragen Kap. 3
      Lösungsfolien zu Kap 3

      Kapitel 4: Koordination nebenläufiger Prozesse[ PDF - 1 Folie/Seite ][ PDF - 4 Folien/Seite ]div. Lösungen zu Kapitel 4
      Kapitel 5: Betriebsmittelverwaltung[ PDF - 1 Folie/Seite ][ PDF - 4 Folien/Seite ]Antworten zu Fragen Kapitel 5
      Kapitel 6: Speicherverwaltung
      [ PDF - 1 Folie/Seite ]
      [ PDF - 4 Folie/Seite ]
      Kapitel 7: Interprozesskommunikation
      [ PDF - 1 Folie/Seite ][ PDF - 4 Folie/Seite ]
      Kapitel 8: Warteschlangen
      [ PDF - 1 Folie/Seite ][ PDF - 4 Folie/Seite ]
      Kapitel 9: Networking[ PDF - 1 Folie/Seite ][ PDF - 4 Folien/Seite]

      Sonstige Unterlagen:

      • MindMap zu den "Konzepten und Methoden" der KMS (derzeit bis Kapitel 4)
      • Antworten zu Fragen nach Kapitel 2

      Empfehlenswerte Skripte/Foliensätze anderer Lehrveranstaltungen:

      Sonstiges:

      • Anleitung zu Cygwin/Eclipse-Integration (Windows) von Herrn Sebastian Stremming


      Zentralübung

      Es gibt kein Skript. Im Laufe des Semesters werden die verwendeten Materialien hier zugänglich gemacht.

      Introducing C part 1/2: Welcome to the real world[ PDF -- 1 Folie/Seite ][ PDF -- 4 Folien/Seite ]
      Introducing C part 2/2: Adolescence[ PDF -- 1 Folie/Seite ][ PDF -- 4 Folien/Seite ]
      Introducing C: Example programs[ Source code archive ]

      To compile the example programs you need Linux, Unix or cygwin (on Windows) and gcc. Extracting the archive and typing "make" in the main path (from within a command line shell) should do it. Please let me know if there are any bugs in sources or slides. Have a lot of fun.


      Übungen

      Präsenzübungsblätter

      In Ihrem eigenen Interesse sollten Sie sich auf die Übung vorbereiten indem Sie die Aufgaben im Vorfeld durchdenken. Bringen Sie einen Ausdruck des Übungsblattes zur Übung mit.

      • Präsenzübungsblatt Nr. 1 -- [ PDF ]
      • Präsenzübungsblatt Nr. 2 -- [ PDF ]
      • Präsenzübungsblatt Nr. 3 -- [ PDF ]
      • Präsenzübungsblatt Nr. 4 -- [ PDF ]
      • Präsenzübungsblatt Nr. 5 -- [ PDF ]
      • Präsenzübungsblatt Nr. 6 -- [ PDF ]
      • Präsenzübungsblatt Nr. 7 -- [ PDF ]
      • Präsenzübungsblatt Nr. 8 -- [ PDF ]
      • Präsenzübungsblatt Nr. 9 -- [ PDF ]
      • Präsenzübungsblatt Nr. 10 -- [ PDF ]
      • Präsenzübungsblatt Nr. 11 -- [ PDF ] [Beispielprogramm Aufg.2]
      • Präsenzübungsblatt Nr. 12 -- [ PDF ]
      • Präsenzübungsblatt Nr. 13 -- [ PDF ]
      • Präsenzübungsblatt Nr. 14 -- [ PDF ]

      Hausübungsblätter

      An dieser Stelle werden freitags 14-tgl. die Hausübungsblätter veröffentlicht. Die Bearbeitung kann in Gruppen nicht größer als 3 Personen erfolgen. Bearbeitete Übungsblätter können Sie bis spätestens 12:00 am Freitag in den Kasten des Tutors Ihrer Übungsgruppe auf dem D3-Flur einreichen. ACHTUNG: Geben Sie nur ein Übungsblatt ab. Abgaben nicht angemeldeter Teilnehmer können bei der Korrektur nicht berücksichtigt werden. Abgaben per Email können wir nicht akzeptieren.

      • Hausübungsblatt Nr. 1 -- [ PDF ], C-code zu Aufgabe 4 [ ZIP ]
      • Hausübungsblatt Nr. 2 -- [ PDF ], Java-Code zu Aufgabe 1 -- [ ZIP ], Gantt-Diagramm zu Aufgabe 4 --  [ PDF ], Deprecated thread methods in Java (externer Link)
      • Hausübungsblatt Nr. 3 -- [ PDF ], C-Code zu Aufgabe 2 -- [ ZIP ], Musterlösung zu Aufgabe 2 -- [ ZIP ]
      • Hausübungsblatt Nr. 4 -- [ PDF ], Java-Code zu Aufgabe 1 -- [ ZIP ], Musterlösung zu Aufgabe 1 mit einem Semaphor -- [ ZIP ]
      • Hausübungsblatt Nr. 5 -- [ PDF ]
      • Hausübungsblatt Nr. 6 -- [ PDF ] Abgabe des HUE6 am Montag, 10.07.06!
        , Java-Code zu Aufgabe 1 -- [ ZIP ]


      Literaturhinweise, Verweise

      Es gibt kein Buch, dass alle in der Vorlesung behandelten Themen sinnvoll abdeckt. Einige mögliche Bücher sind:
      • Rechnerarchitektur
        • Tanenbaum, A.: Computerarchitektur: Strukturen, Konzepte, Grundlagen, Prentice Hall, 1999
      • Betriebssysteme
        • Stallings, W.: Betriebssysteme: Prinzipien und Umsetzung, Pearson Studium, 2003
        • Silberschatz, A.: Operating System Concepts, 2003.
        • Tanenbaum, A.: Moderne Betriebssysteme, 2nd. Edition, Prentice Hall, 2002
        • Nehmer; Sturm: Systemsoftware: Grundlagen moderner Betriebssysteme, dpunkt, 2001
        • Herrtwich; Hommel: Nebenläufige Programme, Springer, 1994
      • Datenbanken
        • Elmasri; Navathe: Fundamentals of Database Systems, Addison-Wesley, 1994
      • Verteilte Systeme, Netze
        • Coulouris , G: Distributed Systems, Concepts and Design, 2nd ed., Addison-Wesley,1994
        • Tanenbaum, A.: Computernetzwerke, Prentice Hall, 1998
      • Programmierung
        • Kernighan; Ritchie: Programmieren in C, Carl Hanser Verlag, 1990

      Prüfungsmodalitäten

      Die Veranstaltung wird durch eine Klausur geprüft.

      Bemerkungen zum Ablauf der Klausuren

      • Die Anmeldung zu der Klausuren erfolgt für ALLE Teilnehmer über Studinfo. ACHTUNG: Wenn Sie sich nicht (z.B. als Wirtschaftsinformatiker) bei einem Prüfungssekretariat verbindlich anmelden, muss zur verbindlichen Anmeldung das unterschriebende Anmeldeformular bis 2 Wochen vor Klausurtermin im Sekretariat Rechnernetze eingegangen sein.
      • Die Klausur findet am 01.08.2006 von 09:00 Uhr bis 12:00 Uhr in den Räumen Sporthalle und AudiMax statt (Details werden noch bekanntgegeben).
        Es erfolgt eine Platzvergabe: Die den Klausurteilnehmern zugewiesenden Sitzplätze werden wenige Tage vor dem Klausurtermin über Studinfo bekanntgegeben. Weiterhin hängt eine Liste vor dem Eingang des Raumes aus.
        ACHTUNG: Wenden Sie sich unbedingt an die Klausuraufsicht, wenn Sie Ihre Matrikelnummer nicht auf dieser Liste finden.
      • Nach der Korrektur können die in der Klausur erreichten Punkte über Studinfo eingesehen werden.
        Die Note wird NACH der Klausureinsicht festgelegt und mit den Bonuspunkten (siehe Übung) verrechnet. Die unter Studinfo angezeigten Bonuspunkte gelten bis dahin unter Vorbehalt. Ggf. sind bis dahin keine Bonuspunkte in Studinfo sichtbar.

      Verschiedenes zur Vorlesung

      Impressum | Webmaster | Letzte Änderungen am : 28.08.2009