This repository contains the code for the assignments of the course COL331 - Operating Systems.
For all the three assignments, we worked with the xv6 operating system. Specifically, we modified the xv6 kernel to achieve many new functionalities like System Call tracing and management, Priority based Scheduling and handling of Starvation, User Level Threads, Co-operative Scheduling and much more.
For more details, please refer to problem.pdf for the exact problem statement.
Team-mates: For Assignment 3, I collaborated with Yash Garg (2015EE10691) from the Electrical Engineering Department.