Preemptive OS, 70 points
- Round-robin preemptive scheduling
- COW fork
- Auto-growing stack
- Graceful SEGV handling
- Available binaries:
- C standard library
- Execute background processes with
- View running processes with
- Kill a foreground running process with
- Kill a background running process with
kill -9 <pid>
- Sleep for
- Run an infinite loop with
infinite(useful to test
- View files in the current directory with
ls, change directory with
ls, but cannot
- Print a file to the screen with
- Clear the screen with
- The terminal auto-scrolls!
- The mechanism of setting up the first process's stack was adopted from xv6 (commentary on a 32-bit open-source OS).
- User space
mallocis based on the implementation in K&R's C Programming Language.
- The interrupt handling mechanism (offloading to a generic handler) is based on the ideas from https://littleosbook.github.io/.
- Referred standard resources have been cited inline with the code.