Betriebssysteme I (2019/20)
Prof. Dr. Andreas Polze
Andreas Grapentin, Kordian Gontarska, Daniel Richter, Felix Eberhardt, Lukas Wenzel
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
- Di, 09:15-10:45, Hörsaalgebäude am HPI, Campus Griebnitzsee, Hörsaal 1
- Do, 11.00-12:30, Hörsaalgebäude am HPI, Campus Griebnitzsee, Hörsaal 3
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 |
---|---|
|
Übungen
- Shell Programmierung (Kap. 1 - fork/exec): Programmrahmen
- Linux-basierte Environment Subsystems: Programmrahmen
- Systemaufruf in Assembly: Programmrahmen
- Nebenläufigkeits Experimente: Programmrahmen
- Synchronisation mit Sempahoren (single thread): Programmrahmen
- Synchronisation mit Sempahoren (multiple threads): Programmrahmen
- 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 unser Online-Formular. Sie können sich dort mit Ihrer E-Mail Adresse anmelden (evtl. Gastadresse für Studierende der Uni Potsdam).
Zusatzmaterial
- Wiederholung C-Programmierung: Buch
- Wiederholung Shell: Buch, Tutorial
- Wiederholung Makefiles: Übungsblatt, Programmrahmen
Links
- Übungen, Projekte und Quellcode Historischer Systeme:
- https://gitlab.hpi.de/osm-teaching/opsys19labs
- Wiki und Issue Tracker für Notizen und Fragen:
- https://gitlab.hpi.de/osm-teaching/opsys2019forum
- Übungsabgabensystem:
- https://osm.hpi.de/submit
- E-Mail Verteiler für C Materialien und Tutorien: bs1_c_tutorials@lists.myhpi.de
- IRC Channels
#hpi-bs-2019
und#hpi-bs1-2019-live
auf irc.freenode.org
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}"
} -
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"
} -
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"
} -
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}"
} -
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://homepage.divms.uiowa.edu/~ochipara/classes/advancedos/papers/timesharing/unix-evolution.pdf.
×
@article{citemaster_9461,
author = "Ritchie, Dennis",
title = "{The Evolution of the UNIX Time-Sharing System}",
publisher = "{Springer}",
pages = "1577-1594",
url = "http://homepage.divms.uiowa.edu/\textasciitilde ochipara/classes/advancedos/papers/timesharing/unix-evolution.pdf",
journal = "{Lecture Notes in Computer Science}",
year = "1980",
issue = "79",
citemaster_short_journal = "{LNCS}"
} -
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"
} -
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}"
} -
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"
} -
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://osm.hpi.de/wrk/2009/12/queued-spinlocks-in-the-wrk/.
×
@misc{citemaster_9608,
author = "Schmidt, Alexander",
title = "{Queued Spinlocks in the WRK}",
url = "http://osm.hpi.de/wrk/2009/12/queued-spinlocks-in-the-wrk/"
} -
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:
- Sysinternals Webseite http://technet.microsoft.com/de-de/sysinternals/
- (CRK) Tools
- NT Design Workbook (von 1989!), zip.Archiv
- Mark A.Russinovich/David A. Solomon, "Windows Internals", 4th Edition, MS Press 2005.
- David A. Solomon/Mark E. Russinovich, "Inside Windows 2000", 3rd Edition, MS Press, 2000.
- John Hart, Win32 System Programming, Addison-Wesley, 1997.
- Abraham Silberschatz, Peter B. Galvin, "Operating System Concepts", John Wiley & Sons, 6th Ed., 2003; Webseite zu diesem Buch unter os-book.com
- Gary Nutt, "OS Projects using Windows NT", Addison-Wesley, 1999.
- Helen Custer, "Inside Windows NT", MS Press, 1993.
- Andrew S. Tanenbaum, "Distributed Operating Systems", Prentice Hall, 1995.
- Dennis M. Ritchie, "The Evolution of the Unix Time-sharing System"