This project is implemented for better understanding how a scheduller work, by switching among the threads, having semaphores and block queues as well as running queues.
The project has been implemented through the C functions makecontext, setcontext, getcontext and swapcontext for making coroutines and switching among them .