Operating Systems labs (ECE344) at University of Toronto, Spring 2013
These labs were taken from the os161 labs developed for the Operating Systems course at Harvard University.
We were required to implement the following features:-
- Locks.
- Implement the following system calls.
- fork().
- getpid().
- waitpid().
- exit().
- Implement a basic virtual memory system.
- Setup and maintain a basic coremap data structure.
- Maintain two level page tables for user processes.
- Swapping when physical memory capacity is reached.
- Software handling of TLB
- Virtual address space copy on process forking.