OS Kernel Enhancements in xv6
A series of structured enhancements to the MIT xv6 teaching operating system to explore low‑level systems design trade‑offs and performance implications.
- Virtual Memory: Added demand paging scaffold & page access accounting; experimented with copy‑on‑write fork semantics to reduce process creation overhead.
- Scheduling: Prototyped multi‑level feedback queue (MLFQ) variant with aging + quantum adaptation; benchmarked CPU utilization & latency under mixed I/O/CPU workloads.
- Signals: Implemented POSIX‑like signal delivery (termination, suspension, custom handlers) via a new system call layer.
- Diagnostics: Kernel tracing hooks + minimal userspace profiler for syscall distribution.
Results: Reduced average fork() cost in microbenchmarks; improved responsiveness for interactive tasks under contention; gained practical insight into MMU interactions & scheduler fairness policies.
Tech: C, x86, QEMU, GNU toolchain.
Testing used deterministic workloads (spawn/mem pressure benchmarks) instrumented with timing counters to quantify gains.