Betriebssysteme

Veranstalter

Prof. Dr. Claudia Linnhoff-Popien

Sprechstunde

Hörerkreis

Bachelorstudiengänge Informatik
Studiengänge mit Nebenfach Informatik

Vorlesungstermin(e)
(Beginn:19.10.2011)

Mittwochs, 13:30-15:45 Uhr
Raum M 118 (Geschw.-Scholl-Pl. 1)

Übungsbetrieb

Michael Dürr
Philipp Marcus

Hinweise zu den Übungen siehe unten

Klausur

Samstag, den 11.02.2012, 9.30 - 11.30 Uhr, Hörsälen A140, A240, M018, M118, M109 (Hauptgebäude)

Nachholklausur

Donnerstag, den 12.04.2012, 9.30 - 11.30 Uhr, Hörsäle A240, B201, M218 (Hauptgebäude)

Material zur Vorlesung

einseitig, doppelseitig

Aktuelles

  • Aktuelle Mitteilungen für diese Veranstaltung sind nicht mehr verfügbar. Bei Fragen zum Inhalt der Veranstaltung nehmen Sie bitte Kontakt mit den betreuenden Mitarbeitern am Lehrstuhl für Mobile und Verteilte Systeme auf.
  • 19.04.2012: Die Klausureinsicht zur Nachholklausur findet am Mittwoch, den 02.05.2012, von 17 – 18 Uhr, im Raum U G109 (Oettingenstr. 67) statt.
  • 13.04.2012: Die Klausurergebnisse (Noten) wurden soeben an Ihre CIP-Pool Adresse versandt. Der Zugriff auf Ihren CIP-Account ist auch online unterhttps://webmail.ifi.lmu.de möglich! Die Noten werden nicht unter Uniworx publiziert! Wenden Sie sich an Michael Dürr, wenn Sie bisher keine Email erhalten haben!
  • 12.04.2012: Die Klausurergebnisse (erreichte Punkte) wurden soeben an Ihre CIP-Pool Adresse versandt. Der Zugriff auf Ihren CIP-Account ist auch online unterhttps://webmail.ifi.lmu.de  möglich! Wenden Sie sich an Michael Dürr, wenn Sie bisher keine Email erhalten haben!
  • 10.04.2012: Für die Klausur am 12.04.2012 ergibt sich folgende Aufteilung der Studenten auf die Hörsäle (alle im Hauptgebäude der LMU):
    Hörsaal Nachnamen (nach Anfangsbuchstaben sortiert)
    B 201 A – Ma
    A 240 Mi – Z
  • 29.02.2012: Die Anmeldung zur Nachholklausur am Donnerstag, den 12.04.2012, istab dem 08.03.2012 unter UniWorX möglich. Die Anmeldefrist endet am 10.04.2012 um 12:00 Uhr. Anmledung nach diesem Termin sind nicht möglich (siehe Anmerkungen zur Klausur).
  • 14.02.2012: Die Klausureinsicht findet am Mittwoch, den 07.03.2012, von 15 – 16 Uhr, im Raum U G109 (Oettingenstr. 67) statt.
  • 14.02.2012: Die Klausurergebnisse (Noten) wurden soeben an Ihre CIP-Pool Adresse versandt. Der Zugriff auf Ihren CIP-Account ist auch online unterhttps://webmail.ifi.lmu.de möglich! Die Noten werden nicht unter Uniworx publiziert! Wenden Sie sich an Michael Dürr, wenn Sie bisher keine Email erhalten haben!
  • 11.02.2012: Die Klausurergebnisse(erreichte Punkte) wurden soeben an Ihre CIP-Pool Adresse versandt. Der Zugriff auf Ihren CIP-Account ist auch online unter https://webmail.ifi.lmu.de  möglich! Wenden Sie sich an Michael Dürr, wenn Sie bisher keine Email erhalten haben!
  • 10.02.1012: Für die Klausur am 11.02.2012 ergibt sich folgende Aufteilung der Studenten auf die Hörsäle (alle im Hauptgebäude der LMU):
    Hörsaal Nachnamen (nach Anfangsbuchstaben sortiert)
    A 140 A – Gi
    A 240 Go – Lin
    M 018 Liu – Re
    M 118 Ri – Wim
    M 109 Win – Z
  • 02.02.2012: Die Übungen vom 02.02. – 06.02.2012 finden regulär statt. In den Übungsgruppen werden einige Aufgaben zur Wiederholung und zur Vorbereitung für die Klausur besprochen. Die Aufgaben werden nicht online zur Verfügung gestellt.
  • 21.01.2012: Die Antworten zur Aufgabe 38 (Nachgefragt) sind online unterhttp://lehre.mobile.ifi.lmu.de/bs_pub/nachgefragt_ws1112/nachgefragt.xml abrufbar. Die Zugangsdaten sind wieder die selben wie für die Folien zur Vorlesung vom 07.12.2011. Die Kennung sowie das Passwort finden sie hier.
  • 19.01.2011: Die Datei AbstractBuffer.java zur Bearbeitung von Aufgabe 51 ist jetzt verlinkt.
  • 09.01.2011: Hinweis: Die Zugangsdaten zu den Nachgefragt-Antworten (siehe Übungsblatt 10) vom letzten Jahr sind die selben wie für die Folien zur Vorlesung vom 07.12.2011. Die Kennung sowie das Passwort finden sie hier
  • 29.12.2011: Die Anmeldung zur Klausur ist ab dem 01.01.2012 unter UniWorXmöglich. Die Anmeldefrist endet am 09.02.2012 um 12:00 Uhr. Anmledung nach diesem Termin sind nicht möglich (siehe Anmerkungen zur Klausur).
  • 14.12.2011: Beim aktuellen Übungsblatt 09, welches heute als Kopie in der Vorlesung ausgeteilt wurde, ist in Aufgabe 36a) ein Hinweis angegeben. Dieser Hinweis ist nicht als optional sondern als verpflichtend anzusehen!
  • 14.12.2011: Achtung: Das Freitagstutorium 14-16 Uhr (Lorenz Schauer) fällt am 23.12.2011 aus. Bitte besuchen Sie ausnahmsweise eines der anderen Tutorien, falls dieser Termin Ihre Übungsgruppe betrifft.
  • 08.12.2011: Die Folien zur Vorlesung vom 07.12.2011 können Sie unter hier herunterladen. Die Kennung sowie das Passwort finden sie hier
  • 08.12.2011: Einige Tutoren fügen Komentare zur Korrektur der Hausaufgaben direkt in die jeweilige Abgabe (z.B. PDF-Datei) ein. In Uniworx gibt es für Studenten die Möglickeit, die korrigierte Fassung herunterzuladen. Dazu müssen Sie das kleine Downloadsymbol am Ende der Zeile der jeweiligen Abgabe klicken.
  • 30.11.2011: In Aufgabe 26. ist ein fehlerhaftes Gantt-Chart abgebildet! Die korrekte Anordnung der Prozesse lautet: |P1|P2|P3|P1|P1|P2|P2|P3|P2|
  • 27.11.2011: In der Aufgabe 20a) hat sich ein Formulierungsfehler eingeschlichen. Anstatt:
  • Warum ergibt sich für die Variable thread_pid bzw. my_pid immer derselbe Wert?

    sollte die Frage lauten

    Warum ergibt sich bei der Ausgabe von thread_pid = … bzw. my_pid = … immer derselbe Wert, d.h. warum liefern die Funktionen getppid() bzw. getpid() jeweils immer denselben Wert zurück?

  • 23.11.2011: In der heutigen Vorlesung entstand Verwirrung um die BegriffeProzessdeskriptor und PCB. Dazu folgende Anmerkung: Das Betriebssystem verwaltet in einer Prozesstabelle für jeden Prozess einen Eintrag. Dieser Eintrag wird i.d.R. als eine Datenstruktur (Record) realisiert, die oft auch als Prozessdeskriptor bezeichnet wird. Der Prozessdeskriptor wiederum enthält alle Informationen zu einem Prozess, wie z.B. Informationen über Programmdaten, Nutzerdaten und den Nutzerstack, aber eben auch über den PCB. D.h. die Aussage, der PCB „enthält alle Informationen, die das Betriebssystem zu einem Prozess benötigt.“ (Skript Seite 47.) ist so nicht ganz korrekt. Aufgrund der Verwirrung geht Aufgabe 15a) (iv) nicht in die Wertung für die Bonuspunkte ein!
  • 18.11.2011: Das Tutorium von Andreas Kolb (16 – 18 Uhr) muss heute aus persönlichen Gründen leider ausfallen. Die Teilnehmer dieses Tutoriums werden gebenten ausnahmsweise auf eines der Tutroien am kommenden Montag auszuweichen.
  • 28.10.2011: Die geforderte Umwandlung in ein offenes Unterprogramm in Aufgabe 7 von Übungsblatt 02 bezieht sich selbstverständlich nicht auf Funktionen, die in externen Bibliotheken definiert werden (also z.B. printf(), atoi(), basename() oder exit()). Es sei zudem noch einmal darauf hingewiesen, dass in der Klausur kein C-Code programmiert sondern lediglich verstanden werden muss!
  • 21.10.2011: Achtung: Auf der Folie 55 der Vorlesung vom 19.10.2011 befindet sich ein syntatktischer Fehler. Der Ausdruck *(e3+1*3+1) muss lauten: *((int*)((unsigned int)e3+(1*3+1)*sizeof(int))))
  • 19.10.2011: Die Folien zur heutigen Vorlesung können Sie hier herunterladen. Die Kennung sowie das Passwort finden sie hier
  • 19.10.2011: Das Übungsblatt 01 ist jetzt online. Die Folien zur heutigen Vorlesung werden heute (am späten Abend) noch verlinkt.
  • 15.10.2011: Achtung: Die Übungen zur Vorlesung beginnen am 20.10.2011.
  • 16.09.2011: Willkommen auf der Webseite der Vorlesung Betriebssysteme im Wintersemester 2011/2012.

Inhalt der Vorlesung

Die Vorlesung "Betriebssysteme" ist als Fortführung der im Sommersemester stattfindenden Vorlesung Rechnerarchitektur anzusehen. Der Schwerpunkt der Vorlesung liegt auf der Darstellung der Konzepte der Systemprogrammierung. Typische Aufgaben der Systemprogrammierung sind die Programmierung des Betriebssystems sowie von Dienstleistungsprogrammen, wie beispielsweise Editoren, Compiler, Interpreter. Die Vorlesung gibt einen Überblick über die wesentlichen Aufgaben und Problembereiche eines Betriebssystems, wobei insbesondere auf die Bereiche Synchronisation, Prozess-Kommunikation, Verwaltung des Rechnerkerns sowie auf den Bereich der Speicherverwaltung eingegangen wird. Zur praktischen Umsetzung der in der Vorlesung eingeführten Konzepte wird als Programmiersprache in den Übungen Java (insbesondere die Thread-API) eingesetzt. Zum Abschluss der Vorlesung wird noch auf die Architektur von verteilten Systemen sowie auf Rechner-übergreifende Kommunikation und auf entfernte Prozeduraufrufe eingegangen.

Die Vorlesung richtet sich an Studierende der Informatik im 3. Semester. Das die-informatiker.net-Team bietet unter http://www.die-informatiker.net ein Forum zur Vorlesung Betriebssysteme an, in dem über vorlesungsbezogene Inhalte und Übungsblätter diskutiert werden kann.

Übungen

Die Übungen beginnen am 20. Oktober 2011. Eine Anmeldung zu den Übungen und Übungsgruppen ist zwingend erforderlich und über das elektronische AbgabesystemUniWorX möglich. Zur Registrierung bei UniWorX ist ein Account am CIP-Pool des Instituts für Informatik (IFI) nötig. Wie man an eine solche Kennung kommt steht hier.
Bitte bachten Sie, dass die Anmeldung zur Übung und zu den einzelnen Übungsgruppen in zwei getrennten Schritten durchzuführen ist.

Folgende Übungsgruppen stehen zur Verfügung:

Gruppe Zeit Raum Tutor
1 Mo 10-12 Uhr (s.t.) Raum B 046 (Theresienstr. 39) Anna Follmann
2 Mo 12-14 Uhr Raum B 046 (Theresienstr. 39) Valentin Protschky
3 Mo 16-18 Uhr Raum B 045 (Theresienstr. 39) Marlene Gottstein
4 Do 10-12 Uhr Raum B 046 (Theresienstr. 39) Frederik Meerwaldt
5 Do 12-14 Uhr Raum B 046 (Theresienstr. 39) Robert Wilde
6 Fr 12-14 Uhr Raum B 046 (Theresienstr. 39) Johannes Hafner
7 Fr 14-16 Uhr Raum B 046 (Theresienstr. 39) Lorenz Schauer
8 Fr 16-18 Uhr Raum B 046 (Theresienstr. 39) Andreas Kolb

 

Übungsmaterial

An dieser Stelle wird jeweils zu Beginn jeder Woche das aktuelle Übungsblatt zum Download bereit gestellt.  Beachten Sie bitte auch die Merkblätter. Die Abgabe der Übungsblätter ist freiwillig.
Hinweis:
Es werden lediglich Abgaben in den Formaten .pdf, .jpg, .txt akzeptiert! Abgaben in anderen Formaten (Microsoft Word,...) werden nicht akzeptiert! Abgaben nach der auf dem jeweiligen Übungsblatt vermerkten Abgabefrist werden nicht akzeptiert.

Blatt Downloadlink
Merkblatt einseitig, zweiseitig
Übungsblatt 01
Übungsblatt 02
Übungsblatt 03
Übungsblatt 04
Übungsblatt 05
Übungsblatt 06
Übungsblatt 07
Übungsblatt 08
Übungsblatt 09
Übungsblatt 10
Übungsblatt 11
Übungsblatt 12
Übungsblatt 13

 

Klausur

  • Es werden zwei Klausuren (Klausur und Nachhoklausur) angeboten.
  • Die Details werden zu gegebener Zeit unter dem Punkt Aktuelles bekannt gegeben.
  • Für beide Klausuren gilt:
    • Es findet eine obligatorische Klausuranmeldung statt. Wenn Sie nur an der zweiten Klausur (Nachhoklausur) teilnehmen möchten, müssen Sie sich nicht für die erste Klausur anmelden.
    • Anmeldungen nach dem letzten Anmeldetermin werden nicht akzeptiert!
    • Nicht angemeldete Studierende können nicht an der Nachhollausurteilnehmen!
    • Zur Klausur sind keinerlei Hilfsmittel erlaubt!
    • Bringen Sie Ihren Studentenausweis und einen amtlichen Lichtbildausweis mit zur Klausur. Personen, die sich in der Klausur nicht ausweisen können dürfen nicht an der Klausur teilnehmen. Es werden diesbezüglich keine Ausnahmen gemacht!
    • Der Prüfungsstoff beinhaltet Ihre Vorlesungsmitschriften, das Vorlesungsskript, etwaige Vorlesungsfolien sowie alle Aufgaben der Übungsblätter.
    • Für die Klausur wird die Kenntnis der Programmiersprache Java vorausgesetzt (die Kenntnis von C ist nicht notwendig)!
    • Die Klausurergebnisse werden Ihnen an Ihre CIP-Pool Email-Adresse (<kennung>@cip.ifi.lmu.de) übermittelt!

Programme und Hilfsmittel

Zur Visualisierung der verschiedenen Paging-Strategien können Sie hier ein kleines Java Programm herunterladen (mit freunldicher Genehmigung von Marcel von Maltitz). Die Quellen können Sie hier beziehen. Der Lehrstuhl übernimmt keine Garantie für die Korrektheit des Programms!

Literatur

Als Begleitliteratur werden die folgenden Bücher empfohlen (siehe auch das Einführungskapitel des Skriptes):

  • William Stallings
    Operating Systems Internals and Design Principles
    Prentice Hall, 7th Edition, 2011
    ISBN-13 978-0132309981
  • A.S. Tanenbaum
    Moderne Betriebssysteme
    Pearson Studium, 3. überarbeitete Auflage, 2009
    ISBN-13 978-3-8273-7342-7
  • A.S. Tanenbaum
    Modern Operating Systems
    Prentice Hall, 3nd Edition, 2007
    ISBN-13 978-0136006633
  • A. Silberschatz, P. Galvin, J. Peteron
    Operating System Concepts
    John Wiley and Sons, 8th Edition, 2011
    ISBN-13 978-1118112731
  • Rüdiger BrauseBetriebssysteme: Grundlagen und KonzepteSpringer, 3. überarbeitete Auflage, 2003ISBN-13 978-3540009009

Darüberhinaus werden in der Vorlesung speziell für jedes Kapitel zusätzliche Literaturhinweise bekannt gegeben.