Operating Systems Course, Winter 2007/2008
Time, Location: Tue 10-12, Th 3-4 in T02, Techno-Z. First lecture on Th, Oct 9, 10-12. Check schedule for updates.
This course provides an introduction to operating system concepts: processes and threads, deadlocks, memory management, input/output, file systems, and multiple processor systems. The course follows in part the textbook on modern operating systems by A. Tanenbaum. The goal of the course is to have students understand and appreciate principled engineering of operating systems through a focus on fundamental rather than advanced concepts in class in combination with creative freedom in class projects. Teams of 2-3 students will be asked to design and implement (in kernel or user space) their own operating system in a programming language of their choice. The operating system must at least include some form of concurrency support, memory management, device abstraction, and file handling.
Goals of the course:
Learn, through hands-on operating system design and implementation, how concurrency support, memory management, device abstraction, and file handling works.
Grading: homework, project report, presentation, and source code.
Prerequisites: programming experience, basic knowledge of operating system concepts.
Technical contact: Harald . Roeck @ cs . uni-salzburg . at