xv6 is a teaching OS developed in MIT. I did some modifications in it in my undergrad course "CSE 314: Operating System Sessional."
Base repo: https://github.com/mit-pdos/xv6-public
-
Added a user program
timewhich counts the time (number of ticks) taken by the program given as its argument -
Implemented lottery scheduling instead of xv6's default round robin policy
- Files modified:
proc.cproc.h - Run the user program
psfor testing
- Files modified:
-
Created paging system with FIFO algorithm and NRU algorithm for memory management
- Files modified:
vm.cfs.cproc.cproc.htrap.csysfile.cmmu.hdefs.h - Run the user program
mtfor testing (Before running, uncomment the lines related to printing in vm.c) - Use the enum variable
ALGOin vm.c to switch algorithms
- Files modified:
- Updated xv6's
atoifunction which couldn't handle negative number before - Utilized
HLTinstruction to decrease CPU usage- Files modified:
proc.cx86.h
- Files modified:
- Changed the boring default prompt to the cool prompt shown in the above image :3
- Files modified:
sh.c
- Files modified:
