An introduction course to the implementation of a modern operating system. This will involve implementing pieces of the Linux Kernel, as well as additional coding projects intended to furture understanding.
Topics covered will include:
Concurrency
I/O Scheduling
CPU Scheduling
Deadlock
Virtual Memory
Memory protection
File systems
It is assumed that a basic C knowledge is had by all students in the class. This includes syntax, flow control constructs, basic function usage, and pointers. Basic UNIX/Linux knowledge is also assumed.