Threads and Ticket Lock Implementation in Xv6

I have implemented threads and ticket lock in Xv6 for the final project of my Operating Systems course
- Modified Xv6 process allocation, execution, and termination implementations to add support for threads so that each process can have multiple threads
- Modified scheduling algorithm to schedule threads
- Added Ticket Lock to the kernel