RISC-V Operating System Development (xv6 enhancements)

Extended the xv6 operating system with system calls, paging, traps, kernel threads, network drivers, and filesystem improvements.

SSjoerd De Bruynon January 1, 2024
RISC-V
Operating Systems
xv6
Kernel
System Calls
Assembly
RISC-V Operating System Development (xv6 enhancements)

Project Details

System Calls: Implemented syscall tracing, sysinfo, and optimizations to reduce syscall latency.

Paging: Added page-table printing utilities and logic to detect accessed pages for memory tracking.

Traps & Exceptions: Wrote trap handlers in RISC-V assembly, implemented backtrace support and alarm/timer handling.

Kernel Threads: Extended the kernel with thread support using a clone() implementation modeled on fork(), created a user-level threading library and lock primitives.

Net Driver: Implemented a functional E1000 network driver enabling packet transmission/reception.

Filesystems: Added support for large files and symbolic links to improve POSIX-like behavior.

Technologies Used

RISC-V
Assembly
C
xv6
Kernel Development