Course Structure

The course is taught by Dr. Peter Pietzuch and Dr. Cristian Cadar. A syllabus that has been partitioned accordingly can be found below.

The course is assessed by one written exam and  a coursework consisting of the first two lab tasks.

Syllabus

  • Device management: I/O layers, device independence, device drivers, I/O APIs
  • Disk management: disk storage devices, hardware layout, disk performance, disk scheduling, RAID, caching
  • File systems: files, file system organisation, directories
  • Memory management: logical/physical address spaces, virtual memory, paging, demand paging, page replacement
  • OS virtualisation: virtual machines, type 1/2 hypervisors, paravirtualisation, memory and I/O virtualisation
  • Processes: basic concepts and motivation, process creation and execution, implementation issues, process scheduling
  • Threads: basic concepts and motivation, user-level threads vs. kernel threads
  • Inter-process communication: signals. pipes, sockets, shared memory
  • Process synchronization: critical sections and mutual exclusion, race conditions, locks and semaphores, deadlocks
  • Security: basic concepts, security attacks, access control, automatic techniques for detecting security vulnerabilities

Recommended Books

  • Modern Operating Systems, Tanenbaum, 3rd edition, Prentice Hall, 2008
  • Operating Systems, Design and Implementation,Tanenbaum and Woodhull, 2nd edition, Prentice Hall, 1997
  • Operating Systems, Deitel, Deitel, Choffnes, 3rd edition, Pearson/Prentice-Hall, 2004
  • Operating Systems Concepts, Silberschatz, Galvin, Gagne, 7th Edition, John Wiley & Sons, 2005
  • Operating System - Internals and Design Principles, W. Stallings, 5th Edition, Prentice Hall, 2005