xv6 is a modern reimplementation of Sixth Edition Unix in ANSI C for multiprocessor x86 and RISC-V systems. It was created for pedagogical purposes in MIT's Operating System Engineering course in 2006. I have added four modifications to the xv6 kernel categorized as follows:
- Backtrace and Boot
- Virtual Memory
- Scheduling and Threading
- User Isolation and File Permissions
Each of these additions is isolated in its own branch with the name same. Feel free to read the README files of each branch and view the code to see my implementation of the following features.