Lectures: Operating Systems

Course Information Page Operating Systems (L.079.05704)

Winter Semester 2010 / 2011

  • Class Meeting: Friday, 3:15 pm - 4:45 pm
  • Exercises: Friday, 5:15 pm - 6:45 pm
  • Classroom: F0.530 / F1.110 from October 29th
  • Course Instructor: Jun.-Prof. Dr. André Brinkmann

News

  • Classes wil start on October 15th.
  • The Mailing list for the course has been set up. You can subscribe to the list here.
  • We will move to room F1.110 from October 29th
  • There will be no classes on November 5th
  • There will be no classes on November 19th and November 26th
  • Excercises will start on December 3rd
  • There will be additional classes on December 4th
  • The next exercises will be on January 28th

Readings

The first part of this course will closely follow course material prepared by William Stallings and Andrew S. Tanenbaum as well as last years lectures from Franz Rammig:

  • William Stallings: Operating Systems - Internals and Design Principles, Sixth Edition, Pearson International Edition
  • Andrew S. Tanenbaum: Modern Operating Systems, Third Edition, Prentice Hall

The virtualization technology part of this course is based on a course given by Scott Device, VMWare, Inc. This course is based on

  • Jim Smith, Ravi Nair: Virtual Machines - Versatile Platforms for Systems and Processes 

Exercises

The exercises will start on December 1st and will mainly consist of system level and operating system level implementations. Therefore, rudimentary C skills are mandatory. The exercises will be based on Linux, examples will be given based on the Ubuntu Deskto distribution. Online editorials on Linux kernel compilation are available on the Ubuntu community page for Ubuntu kernels and for Vanilla kernels on the following Ubunutu GIT-related page. We strongly recommend that you install the Linux OS inside a virtual machine of your choice.

Course Schedule

Date Topic Recommended Readings
15/10/2010 General Concepts Stallings, Chapter 2
22/10/2010 History and Structure Tanenbaum Chapter 1
Liedtke: On micro-kernel construction
22/10/2010 Windows vs. Linux Stallings Chapter 2
Tanenbaum Chapter 11
Course on Embedded Systems (see course 7 and 12)
12/11/2010 Processes Stallings Chapter 3
03/12/2010 Threads, SMP, and Microkernels Stallings Chapter 4
04/12/2010 Scheduling Stallings, Chapter 9
04/12/2010 Multiprocessor Scheduling Stallings, Chapter 10
04/12/2010 Scheduling of heterogeneous accelerators  
10/12/2010 Memory Management Stallings, Chapter 7 and 8
07/01/2011 Virtualization Heavily copied from course from Scott Devine
Popek Goldberg: Formal requirements for virtualizable third generation architectures
14/01/2011 Cloud Computing Bigtable: A Distributed Storage System for Structured Data
21/01/2011 Singularity Taken from Microsoft Research
21/01/2011 Chromium  
04/02/2011 Security  

Exercises

Date Topic Examples
03/12/2009 System Calls Shell Skeleton
10/12/2010 System Call Interface Source Code Syscall Interface -- Pure Interface

Taken from an Operating System Course from Jason Nieh
14/01/2010 Scheduling Taken from an Operating System Course from Jason Nieh
Syscall Implementation
Test program
Teaching