The operating system lays the foundation for all software that runs on a system. The goal of the operating system is to provide a generic interface for such software, so that applications do not have to bother about how the video card, hard disk and other hardware should be controlled.
We will study all aspects of operating systems, such as process management, virtual memory management, system calls, file systems, device drivers and bootstrapping. Concepts such as processes, scheduling, synchronization, deadlocks, context switching and memory mapping will be introduced.
A custom developed operating system will be used for the lab. In the lab we will experiment with the theory discussed during class, including process management and virtual memory management.
Written exam at the end of the semester and lab assignments during the semester. Both the written exam and lab assignments will make up the final grade. The lab assignments will play an important role in the course.
Making students familiar with functionalities of operating systems, which are applied in contemporary operating systems. In the accompanying lab we will experiment with different implementations of operating system functionality introduced during class.
Book: Operating System Concepts, 8th Edition (International Student Version). Abraham Silberschatz, Peter B. Galvin, Greg Gagne. 2008. Wiley Publishing.