Betriebssysteme I (2019)

Prof. Dr. Andreas Polze

Andreas Grapentin
Kordian Gontarska
Daniel Richter
Felix Eberhardt
Lukas Wenzel

Inhalt der Vorlesung (Wintersemester 2019/20)

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

Zusätzliche Konsultationstermine:

  • Di, 11.02.2020, 12:00-14:00, Hörsaal 1
  • Do, 13.02.2020, 09:00-10:30, Hörsaal 1

Klausurtermin: 19.02.2020, 09:00

Ablauf der Lehrveranstaltung

Die Vorlesung wird auf deutsch gehalten. Die Materialien liegen in englischer Sprache vor.

Folien

sortiert nach Termin sortiert nach Thema
  • Einführung und Organisatorisches: 1
  • Unit 1 - Struktur und Konzepte
    • Geschichte der Betriebssysteme: 1
    • Konzepte und Prinzipien: 1 2 3
    • Unit 1 Checkpoint: 1
  • Unit 2 - Nebenläufigkeit und Parallelität
    • Nebenläufigkeit und Parallelität: 1 2 3
    • Unit 2 Checkpoint: 1
  • Unit 3 - Scheduling
    • Scheduling: 1 2 3
    • Unit 3 Checkpoint: 1
  • Unit 4 - Memory Management
    • Memory Management: 1 2 3
    • Unit 4 Checkpoint: 1
  • Unit 5 - Vertrauen und Verlässlichkeit
    • Vertrauen und Verlässlichkeit: 1
  • Fazit und Retrospektive: 1
  • Tutorenfragerunde

Übungen

  1. Shell Programmierung (Kap. 1 - fork/exec): Programmrahmen
  2. Linux-basierte Environment Subsystems: Programmrahmen
  3. Systemaufruf in Assembly: Programmrahmen
  4. Nebenläufigkeits Experimente: Programmrahmen
  5. Synchronisation mit Sempahoren (single thread): Programmrahmen
  6. Synchronisation mit Sempahoren (multiple threads): Programmrahmen
  7. Shell Programmierung (Kap. 2 - pipes): Programmrahmen

Konsultationstermine

Auf freiwilliger Basis können Sie Konsultationstermine mit Tutoren vereinbaren. Die Gespräche sollen Ihnen die Möglichkeit geben, Ihren Wissensstand zu prüfen und Fragen zu stellen.

Ein Termin dauert ungefähr 45 Minuten und kann in Gruppen von maximal fünf Studierenden wahrgenommen werden.

Bitte nutzen Sie zur Terminvergabe das Formular zur Eintragung. Sie können sich dort mit Ihrer E-Mail Adresse anmelden (evtl. Gastadresse für Studierende der Uni Potsdam).

Zusatzmaterial

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. [ BibTeX ]
    ×
    @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. [ BibTeX ]
    ×
    @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. [ BibTeX ]
    ×
    @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. [ BibTeX ]
    ×
    @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. [ BibTeX ]
    ×
    @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. [ BibTeX ]
    ×
    @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}. [ BibTeX ]
    ×
    @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. [ BibTeX ]
    ×
    @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. [ BibTeX ]
    ×
    @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. [ BibTeX ]
    ×
    @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. [ BibTeX ]
    ×
    @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. [ BibTeX ]
    ×
    @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. [ BibTeX ]
    ×
    @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/. [ BibTeX ]
    ×
    @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. [ BibTeX ]
    ×
    @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: