This is a collection of class assignments developed for CSE 30341, the undergraduate operating systems class at Notre Dame, first by Prof. Douglas Thain, and then developed further by Prof. Christian Poellabauer.
In order of difficulty, they are:
- warmup - Use Unix system calls to copy files recursively.
- shell - Use Unix system calls to build a command line shell.
- mandelbrot - Accelerate a graphical program using processes and threads.
- webserver - Evaluate threads, events, and processes for implementing a web server.
- disk-scheduler - Construct a concurrent disk scheduler that handles multiple threads.
- virtual-memory - Construct a user-level demand-paged memory and evaluate its performance.
This work by Prof. Douglas Thain at the University of Notre dame is licensed under a Creative Commons Attribution 4.0 International License.
That means you are welcome to use or adapt these assignments and codes for your own purposes, as long as you give proper credit.