Betriebssysteme I (2020)

Prof. Dr. Andreas Polze

Andreas Grapentin

Felix Gohla
Clemens Tiedt
Linus Hagemann
Eric Ackermann

bs@hpi.uni-potsdam.de

Inhalt der Vorlesung (Wintersemester 2020/21)

In der Lehrveranstaltung werden die Grundlagen von Standard-Betriebsystemen (General-Purpose Operating Systems) vermittelt. Techniken und Ansätze zur Implementierung von Nebenläufigkeit, Schedulern, Synchronisationsmechanismen, Speicherverwaltung und Sicherheitskomponenten werden an Beispielen diskutiert.

Auf diesen Seiten finden Sie Unterlagen zu den Vorlesungen, die laufend ergänzt werden. Insbesondere finden Sie zur vertiefenden Lektüre Verweise auf Inhalte, die über das in der Vorlesung gezeigte Material hinausgehen.

Als Teilnehmer der Lehrveranstaltung sind Sie berechtigt Kopien der Unterlagen für Ihre eigene Verwendung anzufertigen. Falls nicht anders angegeben, bedarf jegliche Vervielfältigung und Nachnutzung der Unterlagen in elektronischer oder gedruckter Form der schriftlichen Zustimmung der Autoren.

Termine

Ablauf der Lehrveranstaltung

Die Lehrveranstaltung wird im "Inverted Classroom" Modus gehalten. Ihnen werden Materialien und Aufgabenstellungen zur Verfügung gestellt, die Sie alleine oder in Gruppen bearbeiten. Die Ergebnisse werden in zweiwöchentlichen Virtuellen Meetings diskutiert. Die Virtuellen Meetings werden auf Deutsch abgehalten; die Materialien liegen gemischt in Deutscher und Englischer Sprache vor.

Zusätzlich zu den zweiwöchentlichen Meetings werden Sie in kleinen Gruppen (4 -- 5 Studierende) zweiwöchentlich angeleitete Tutorien durchführen, in denen Sie die Lernmaterialien durchsprechen, und auftretende Fragen und Probleme mit den Inhalten mit Ihrem Tutor zusammen besprechen können.

Bitte beachten Sie, dass Ihre regelmäßige und aktive Teilnahme an den Virtuellen Meetings sowie an den begleitenden Tutorien essentiell für den Erfolg der Inverted Classroom Methode, und damit für Ihr individuelles Erreichen der Lernziele der Veranstaltung ist.

Videokonferenz-Etikette

Wir bitten Sie, die folgenden Etikette-Regeln im Umgang mit der Videokonferenzsoftware zu beachten:

  1. Bitte nehmen Sie aktiv an den stattfindenen Videokonferenzen teil.
  2. Bitte stellen Sie Ihr Mikrofon stumm, wenn Sie nicht reden, damit es keine Störenden Echos oder Rückkopplungen gibt.
  3. Bitte Identifizieren Sie sich als Teilnehmer an der Videokonferenz mit ihrem vollständigen Namen.
  4. Bitte schalten Sie wenn möglich Ihre Kamera ein, wenn Sie zur Gruppe sprechen.

Vielen Dank!

Materialien

Unit OS2:

[Aufgabenblatt]

Videos

[Slides 1] (p2) [Slides 2] (p2-6)

[Slides] (p3-19)

[Slides] (p2-20)

[Slides 1] (p21-24) [Slides 2] (p17)

[Slides 1] (p17) [Slides 2] (p18-21) [Slides 3] (p5-8)

[Slides 1] (p2-14,17-35) [Slides 2] (p13-17)

Unit OS3:

[Aufgabenblatt]

Texte

  • Operating Systems Concepts - Kritischer Abschnitt und Synchronisation [PDF]
  • Operating Systems Concepts - Interprozesskommunikation [PDF]
  • Windows Internals - Kernel Dispatcher Objekte [PDF]

Videos

[Slides] (p3-8)

[Slides] (p9-25)

[Slides 1] (p11-17) [Slides 2] (p1-16)

[Slides] (p13-30)

[Slides] (p2-36)

[Slides] (p6-24)

[Slides] (p21-42)

Unit OS4:

[Aufgabenblatt]

Texte

  • Completely Fair Scheduler (CFS) [Documentation]
  • Windows Internals - Thread Scheduling [PDF]
  • Operating Systems Concepts - CPU Scheduling [PDF]

Videos

Weiterführendes Material zur Vertiefung:

Unit OS5:

[Aufgabenblatt]

Texte

  • Windows Internals - Page Frame Number Database [PDF]
  • Windows Internals - Working Sets [PDF]
  • Operating System Concepts - Copy-on-Write Memory [PDF]
  • Operating System Concepts - Page Replacement [PDF]
  • Operating System Concepts - Swapping [PDF]

Videos

[Slides 1] (p34-63) [Slides 2] (p1-35)

[Slides 1] (p33-38, 26) [Slides 2]

Weiterführendes Material zur Vertiefung:

Unit OS7:

[Aufgabenblatt]

Videos

[Slides 1] [Slides 2] (p1-5) [Slides 3] (p10-27) [Slides 4] (p38-39)

Konsultationstermine

Sie können sich ab sofort in Übungsgruppen von 4 - 5 Studierenden im Terminvergabe-Tool eintragen:

[Terminvergabe Tool]

Leistungserfassungsprozess

Am Ende der Lehrveranstaltung wird eine Open-Book Klausur geschrieben.

Die Klausur findet in der Woche vom 22.02. bis zum 26.02.2021 statt.

Bitte registrieren Sie sich für die Teilnahme an der Klausur, indem Sie uns bis einschließlich 31.01. Ihre Matrikelnummer und Ihre Adresse über folgendes Formular übermitteln:

[Klausuranmeldung]

Ihre persönlichen Daten werden nur zum Zweck der Durchführung der Klausur von uns erhoben, und nach Ende der Klausurbearbeitunsgzeit von uns gelöscht. Bei Fragen zum Dateschutz wenden Sie sich bitte an bs@hpi.uni-potsdam.de

Wir senden Ihnen vor Beginn der Bearbeitungszeit Ihre Klausur postalisch an die von Ihnen bei der Registrierung angegebene Adresse. Bitte stellen Sie sicher, dass Sie eine Adresse angeben, an der Sie zu der angegebenen Bearbeitungszeit Post empfangen können. Zur Abgabe Ihrer Klausur schicken Sie diese bitte bis zum Ende der Bearbeitungszeit (Poststempel) an uns zurück.

Für die Bearbeitung der Open-Book Klausur sind sämtliche Hilfsmittel, wie die Vorlesungsmaterialien, Lehrbücher und das Internet zugelassen. Wir bitten Sie, dabei die folgenden Regeln einzuhalten:

  • Sprechen Sie -- wie auch bei einer herkömmlichen, in Präsenz im Hörsaal durchgeführten Klausur -- nicht über die Lösungen Ihrer Aufgaben mit Ihren Kommilitonen. Jeder von Ihnen soll seine Klausur individuell bearbeiten.
  • Vervielfältigen Sie Ihre Klausur nicht, z.B. durch Abfotographieren, Kopieren oder Einscannen. Insbesondere ist es nicht zulässig, die Klausur einzuscannen, auf einem elektronischen Gerät auszufüllen, und wieder auszudrucken.

Wenn bei der Bearbeitung der Klausur Fragen auftreten, wenn beispielsweise eine Formulierung unklar ist, dann wenden Sie sich bitte direkt an uns, oder Ihre Tutoren.

Weitere Details und Erläuterungen zur Planung der Klausur entnehmen Sie bitte der Aufzeichnung vom 07.01.2021.

Wir hoffen, dass wir Ihnen und uns mit diesem Konzept der Open-Book Klausur eine Leistungserfassung ermöglichen können, die ohne übertriebene Überwachung funktioniert. Bitte kommen Sie unserem Vertrauen entgegen, und verhalten Sie sich bei der Bearbeitung der Klausur fair gegenüber uns und Ihren Kommilitonen. Danke!

Zusatzmaterial

  • vorkonfigurierte Ubuntu 20.04 VirtualBox VM; (Zugangsdaten bs1:bs1) [Link]
  • komplette Aufzeichnungen der Vorlesung aus 2018 (Dozent: Prof. Andreas Polze) [Webseite] [Videos]
  • komplette Aufzeichnungen der Vorlesung aus 2019 (Dozent: Andreas Grapentin) [Webseite] [Videos]

Literaturhinweise

  • Jeff Bonwick. The slab allocator: an object-caching kernel memory allocator. In USENIX Technical Conference, 6-6. Berkeley, CA, USA, 1994. USENIX Association. URL: http://static.usenix.org/publications/library/proceedings/bos94/bonwick.html.
    ×
    @inproceedings{citemaster_9636,
    author = "Bonwick, Jeff",
    title = "{The slab allocator: an object-caching kernel memory allocator}",
    publisher = "{USENIX Association}",
    pages = "{6-6}",
    url = "http://static.usenix.org/publications/library/proceedings/bos94/bonwick.html",
    year = "1994",
    address = "{Berkeley, CA, USA}",
    shorttitle = "{USENIX}",
    booktitle = "{USENIX Technical Conference}",
    location = "{Boston, Massachusetts}",
    citemaster_conference_year = "{1994}"
    }
  • Intel Corporation. Intel Architecture Software Developer's Manual, Volume 3a: System Programming. 2010.
    ×
    @manual{citemaster_9059,
    author = "{Intel Corporation}",
    title = "{Intel Architecture Software Developer's Manual, Volume 3a: System Programming}",
    year = "2010",
    citemaster_issuing_organization = "{Intel Corporation}"
    }
  • Abraham Silberschatz, Peter Galvin , and Greg Gagne. Operating System Concepts. John Wiley & Sons, 8 edition, July 2008. ISBN 978-0470128725 . URL: http://www.os-book.com.
    ×
    @book{citemaster_9373,
    author = "Silberschatz, Abraham and {Galvin }, Peter and Gagne, {Greg }",
    title = "{Operating System Concepts}",
    publisher = "{John Wiley {\\&} Sons}",
    url = "http://www.os-book.com",
    pages = "{992}",
    month = "July",
    edition = "8",
    year = "2008",
    isbn = "{ 978-0470128725 }",
    day = "29"
    }
  • William Stallings. Operating Systems: Internals and Design Principles. Prentice Hall, 7 edition, February 2011. ISBN 978-0132309981.
    ×
    @book{citemaster_9459,
    author = "Stallings, William",
    title = "{Operating Systems: Internals and Design Principles}",
    publisher = "{Prentice Hall}",
    pages = "{816}",
    month = "February",
    edition = "7",
    year = "2011",
    isbn = "{978-0132309981}",
    day = "28"
    }
  • Andrew Tanenbaum. Distributed Operating Systems. Prentice Hall, 1995. ISBN 0-13-219908-4.
    ×
    @book{citemaster_604,
    author = "Tanenbaum, Andrew",
    title = "{Distributed Operating Systems}",
    publisher = "{Prentice Hall}",
    year = "1995",
    isbn = "{0-13-219908-4}"
    }
  • David Miller. OpenVMS Operating System Concepts. HP Technologies Series. Elsevier, 2 edition, 1997. ISBN 978-1555581572. URL: http://books.google.de/books?id=FSX5qUthRL8C.
    ×
    @book{citemaster_9462,
    author = "Miller, David",
    title = "{OpenVMS Operating System Concepts}",
    publisher = "{Elsevier}",
    url = "http://books.google.de/books?id=FSX5qUthRL8C",
    edition = "2",
    year = "1997",
    series = "{HP Technologies Series}",
    isbn = "{978-1555581572}"
    }
  • Dennis Ritchie and Ken Thompson. The UNIX time-sharing system. Communications of the ACM, 17:365-375, July 1974. URL: http://doi.acm.org/10.1145/361011.361061, doi:{10.1145/361011.361061}. [ | ]
    ×
    @article{citemaster_9483,
    author = "Ritchie, Dennis and Thompson, Ken",
    title = "{The UNIX time-sharing system}",
    publisher = "{ACM}",
    doi = "{10.1145/361011.361061}",
    pages = "{365-375}",
    url = "http://doi.acm.org/10.1145/361011.361061",
    journal = "{Communications of the ACM}",
    address = "{New York, NY, USA}",
    volume = "17",
    year = "1974",
    month = "July",
    issue = "7",
    isbn = "{0001-0782}"
    }
  • Dennis Ritchie. The Evolution of the UNIX Time-Sharing System. Lecture Notes in Computer Science, pages 1577-1594, 1980. URL: http://cm.bell-labs.com/cm/cs/who/dmr/hist.html.
    ×
    @article{citemaster_9461,
    author = "Ritchie, Dennis",
    title = "{The Evolution of the UNIX Time-Sharing System}",
    publisher = "{Springer}",
    pages = "{1577-1594}",
    url = "http://cm.bell-labs.com/cm/cs/who/dmr/hist.html",
    journal = "{Lecture Notes in Computer Science}",
    year = "1980",
    issue = "79",
    citemaster_short_journal = "{LNCS}"
    }
  • G. Zachary. Show-stopper!: the breakneck race to create Windows NT and the next generation at Microsoft. University of Michigan, 1994. ISBN 978-0029356715. URL: http://books.google.de/books?id=k8ISAQAAMAAJ.
    ×
    @book{citemaster_9463,
    author = "Zachary, G.",
    title = "{Show-stopper!: the breakneck race to create Windows NT and the next generation at Microsoft}",
    publisher = "{University of Michigan}",
    url = "http://books.google.de/books?id=k8ISAQAAMAAJ",
    year = "1994",
    isbn = "{978-0029356715}"
    }
  • Microsoft. Windows Sysinternals Tools. URL: http://technet.microsoft.com/en-US/sysinternals.
    ×
    @misc{citemaster_9458,
    author = "Microsoft",
    title = "{Windows Sysinternals Tools}",
    url = "http://technet.microsoft.com/en-US/sysinternals"
    }
  • H. Custer. Inside Windows NT. Références (Les Ulis). Microsoft Press, 1993. ISBN 9781556154812. URL: http://books.google.de/books?id=ioMZAQAAIAAJ.
    ×
    @book{citemaster_9456,
    author = "Custer, H.",
    title = "{Inside Windows NT}",
    publisher = "{Microsoft Press}",
    url = "http://books.google.de/books?id=ioMZAQAAIAAJ",
    year = "1993",
    series = "{R{\'e}f{\'e}rences (Les Ulis)}",
    isbn = "{9781556154812}"
    }
  • Johnson Hart. Windows System Programming. Addison-Wesley Professional, 4 edition, February 2010. ISBN 978-0321657749.
    ×
    @book{citemaster_9457,
    author = "Hart, Johnson",
    title = "{Windows System Programming}",
    publisher = "{Addison-Wesley Professional}",
    month = "February",
    edition = "4",
    year = "2010",
    isbn = "{978-0321657749}",
    day = "16"
    }
  • Mark Russinovich and David Solomon. Windows Internals. Microsoft Press Corp., 6 edition, April 2012. ISBN 978-0735648739.
    ×
    @book{citemaster_9372,
    author = "Russinovich, Mark and Solomon, David",
    title = "{Windows Internals}",
    publisher = "{Microsoft Press Corp.}",
    month = "April",
    edition = "6",
    year = "2012",
    isbn = "{978-0735648739}",
    day = "5"
    }
  • Alexander Schmidt. Queued Spinlocks in the WRK. URL: http://www.dcl.hpi.uni-potsdam.de/research/WRK/2009/12/queued-spinlocks-in-the-wrk/.
    ×
    @misc{citemaster_9608,
    author = "Schmidt, Alexander",
    title = "{Queued Spinlocks in the WRK}",
    url = "http://www.dcl.hpi.uni-potsdam.de/research/WRK/2009/12/queued-spinlocks-in-the-wrk/"
    }
  • W. Stevens and Stephen Rago. Advanced Programming in the UNIX Environment. Addison-Wesley Professional, 2 edition, June 2005. ISBN 978-0201433074.
    ×
    @book{citemaster_9460,
    author = "Stevens, W. and Rago, Stephen",
    title = "{Advanced Programming in the UNIX Environment}",
    publisher = "{Addison-Wesley Professional}",
    month = "June",
    edition = "2",
    year = "2005",
    isbn = "{978-0201433074}",
    day = "17"
    }

Weitere Literaturstellen: