Winter
2014/15

Operating Systems Principles II (Master)

    

VL:
and

Tuesday,
Friday

RUD 25, 3.328
RUD 26, 1'306,

11:00-12:30
09:30-11:00

Redlich

 

UE:

Friday

RUD 26, 1'306,

11:15-12:45


Sombrutzki
 


Computer Science Department
Systems Architecture Group

Mündliche Prüfungen finden am 12.Februar 2015 (Donnerstag) und 13. Februar 2015 (Freitag) statt.

 Dienstag Freitag  
Jan13Redlich16Redlichreguläre Vorlesungen
 20Redlich23Redlichreguläre Vorlesungen
 271,3302,5Studenten-Vorträge
Feb34,66RedlichVL, nicht prüfungsrelevant
 10Redlich12,13 Prüfungen 

 

 
Abstract: An operating system (OS) is the software responsible for controlling and managing hardware and basic system operations, as well as running application software such as word processing programs, Web browsers, and many others. In general, the operating system is the first layer of software loaded into memory when a computer starts up. All other software that gets loaded after it depends on the operating system to provide various common core services, such as disk access, memory management, process scheduling, and user interfaces. As operating systems evolve, ever more services are expected to be common core. These days, an OS may be required to provide network and Internet connectivity and also to protect the computer's other software from damage by malicious programs, such as viruses. Operating systems in widespread use on personal computers (PC) have consolidated into two families: the Microsoft Windows family and the Unix-like family. Mainframe computers and embedded systems use a variety of different operating systems, many with no direct connection to Windows or Unix.

Building Operating Systems is much about studying existing systems, knowing common problems, knowing what other people did, and figuring out if their ideas can be applied to a given new problem. These long-lasting principles - as opposed to implementation details and user interfaces of today's systems/software - is what this lecture is about.

 
Synopsis:
  • Praktische Informatik, Master (=10 SP), Diplom (= 8 SP).
  • Offered regularly, at least once every two years, usually in winter.
  • 2 lectures per week, 2h each, over one semester (4SWS VL).
  • 1 lab (Übungen/Praktikum) per week, 2h each, over one semester (2SWS UE).

Credits and grading:

  • There will be a few, short, unannounced, closed-book quizzes to verify your existence and to test your understanding.
  • To qualify for the final written examination (at the end of the semester), you have to complete all lab assignments to the satisfaction of the teaching assistant (70% of all points).
  • Regular class attendance is expected; frequent absences are grounds for a failing grade regardless of other performance. You may be missing up to 1 lecture per semester without prior and reasonable excuse. 'prior' means notification by email before the end of business the day before the lecture. 'reasonable' means sickness or study-related events that require your attendance.
  • Lectures begin on time. Students arriving more than 10 minutes late will not be admitted to the lecture and will be counted as 'missing' that day.

Lab (Praktikum):


Syllabus:


Prequel

Lecture slides: Getting Started

Required Reading: how-to-read-a-paper
 

How to read a scientific paper?

  1. Read for an overview. What is the purpose of this work?
  2. Read again, with focus on the "story". Annotate the paper.
  3. Read one more time, with focus on the details. Have a discussion with others. Take notes of arguments that came up during the discussion.
     
Examples   original paper   anotated paper   discussion notes
Rethink the Sync rethink-sync rethink-sync_a rethink-sync_n
Practical, transparent operating system support for superpages superpages superpages_a superpages_n
Memory Resource Management in VMware ESX Server esx esx_a esx_n
Eliminating Receive Livelock in an Interrupt-Driven Kernel livelock livelock_a livelock_n
Generalized File System Dependencies featherstitch featherstitch_a featherstitch_n

Lecturer-driven topics

  1. Thread vs. Event -based Concurrency

    Lecture Slides:  Thread / Event-based Concurrency

    Required Reading:     Threads Cannot Be Implemented As a Library  by Hans-J. Boehm
     

    Recommended Reading:

    Additional  Reading:
     

     

  2. Local (HDD) Filesystems - revisited

    ( The hard life of a hard drive - About the tension between performance and durability/reliability. )

    Lecture Slides:   Local File Systems

    Required Reading:   Failure_Trends_in_a_Large_Disk_Drive_Population
    optional (not required):
    More than an interface — SCSI vs. ATA
     

    Recommended Reading:

    Additional Reading (common production file systems):


     

  3. Remote (access to) Filesystems

    Lecture Slides:   Remote File Systems

    Recommended Reading:

    1. Recommended Reading:
       

     

     

  4. Data Center Storage (Clusters)

    Lecture Slides:

    Recommended Reading:

     

  5. Concepts: Time, Consistency and Consensus

    6.1  Consistency

         Lecture Slides:

         Recommended Reading:

     

6.2  Time, Clocks

    Lecture Slides:
 

     Recommended Reading:

      Additional Material:

 

6.3  Consensus

     Lecture Slides:

     Recommended Reading:

  1. (Google's) Spanner

      Lecture Slides: 

      Recommended Reading:


Student-driven topics

  1. (Secure, Performant, Shared) Execution Environments
     

 

 

Legal disclaimer. .  © 2024 Humboldt-Universität zu Berlin, Computer Science Department, Systems Architecture Group.Contact: sar@informatik.hu-berlin.de .