Operating Systems
About
- Module: Operating Systems (CO-562)
- Semester: Fall 2021
- Instructor: Jürgen Schönwälder
- Office Hours: Monday, 11:15-12:30 (Research I, Room 87)
- TA (Group A): Biehl, Jose Ignacio
- TA (Group B): Karki, Aabishkar
- TA (Group C): Merkaj, Edli
- Class: Tuesday, 15:45-17:00 (RLH-172 CNLH)
- Class: Tuesday, 17:15-18:30 (RLH-172 CNLH)
- Class: Thursday, 15:45-17:00 (RLH-172 CNLH)
- Tutorial: Monday, 20:45-22:15 (TAs, Teams)
- 1st Module Exam: Thursday, 2021-12-16, 16:00-18:00 (SCC Halls 1+2)
- 2nd Module Exam: Thursday, 2022-01-27, 14:00-16:00 (ICC-West Wing Conference Hall)
Content and Educational Aims
This module introduces concepts and principles used by operating systems to provide programming abstractions that enable an efficient and robust execution of application programs. Students will gain an understanding of how an operating system kernel manages hardware components and how it provides abstractions such as processes, threads, virtual memory, file systems, and inter-process communication facilities. Students learn the principles of event-driven and concurrent programming and the mechanisms that are necessary to solve synchronization and coordination problems, thereby avoiding race conditions, deadlocks, and resource starvation. The Linux kernel and runtime system will be used throughout the course to illustrate how key ideas and concepts have been implemented and how application programs can use them.