Operating System Techniques (BST)

E-Mail: christian.dietrich@tuhh.de
Lecturer: Christian Dietrich
Location:: Hybrid (CIP/E - 2.027P3d (E) und BBB-Session im Stud.IP)
Time: Dienstag: 11:00-15:00
Details: see StudIP.
StudIP-Event: BST
Modules:

  • Master "Informatik-Ingenieurwesen": Technischer Ergänzungskurs (6 LP)
  • Master "Computer Science": Vertiefung I. Computer- und Software-Engineering (6 LP)
  • International Master "Information and Communication Systems": Technical Complementary Course for IMPICS (6 LP)
  • International Master "Microelectronics and Microsystems": Technical Complementary Course for IMPICS (6 LP)

Contents

In this course, we will discuss selected topics from the area of protection and priviledge isolation in the context of operating systems. Thereby, these topics are developed as an extension of the OOStuBS, as developed in the course Betriebssystembau. Starting from a single-processor operating system, privilege isolation, spatial isolation and advanced virtual-memory techniques are explored and implemented.

  • Privilege isolation
    • Use of x86 protection rings to separate user mode and system mode
    • System entry through trap-based system calls
  • Spatial isolation
    • Management of free physical memory
    • Virtual address space creation and management
    • Execution of processes in their own address space
    • Loading of programs; creation of processes
  • Advanced address space methods
    • Message dispatch without copying
    • Copy on Write
    • Implementation of fork(2)

Lab assignments are project oriented: The exercises are divided into three parts, which are to be worked on by groups consisting of 2 students. Besides the practical work, there are six lecture-like sessions, where the underlying theory and the concrete technical background for x86 is taught.

Prerequisites

Literatur

Structured Computer Organization
Andrew S. TanenbaumPrentice Hall PTR2006978-0131485211.
[BibTex]
Using Continuations to Implement Thread Management and Communication in Operating Systems
Richard P. Draves, Brian N. Bershad, Richard F. Rashid, Randall W. DeanProceedings of the 13th ACM Symposium on Operating Systems Principles (SOSP '91)ACM Press1991.
10.1145/121132.121155 [BibTex]
Virtual Memory, Processes, and Sharing in MULTICS
Robert C. Daley, Jack Bonnell DennisCommunications of the ACM11.51968.
10.1145/363095.363139 [BibTex]
The Multics System: An Examination of its Structure
Elliot I. OrganickMIT Press19720-262-15012-3.
[BibTex]
The Unix Time-Sharing System
Dennis MacAlistair Ritchie, Ken ThompsonCommunications of the ACM17.71974.
10.1145/361011.361061 [BibTex]
Design Tradeoffs for Software-Managed TLBs
Richard Uhlig, David Nagle, Tim Stanley, Trevor Mudge, Stuart Sechrest, Richard BrownACM Transactions on Computer Systems12.31994.
10.1145/165123.165127 [BibTex]
Accent: A Communication Oriented Network Operating System Kernel
Richard F. Rashid, George G. RobertsonProceedings of the 8th ACM Symposium on Operating Systems Principles (SOSP '81)ACM Press1981.
10.1145/800216.806593 [BibTex]
Meltdown
Moritz Lipp, Michael Schwarz, Daniel Gruss, Thomas Prescher, Werner Haas, Stefan Mangard, Paul Kocher, Daniel Genkin, Yuval Yarom, Mike HamburgArXiv e-prints2018.
PDF 1801.01207 [BibTex]

Evaluation

Anmeldung und weitere Infos

Für diese Veranstaltung ist eine Online-Anmeldung über Stud.IP erforderlich. Bitte registrieren Sie sich (falls noch nicht geschehen) für Stud.IP und tragen Sie sich dort in die entsprechende Veranstaltung ein.