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