Back to projects

2025

RISC-V Operating System

Multi-process educational operating system built in C and RISC-V assembly.

  • C
  • RISC-V Assembly
  • QEMU
  • Git

Overview

This project involved designing and implementing a multi-process operating system kernel targeting the RISC-V architecture. The goal was to build a complete, testable kernel that supports core operating-system abstractions and user-level interaction.

Kernel and Subsystem Design

I implemented a multi-process execution model, system call interface, and a read/write filesystem with an integrated block cache. The filesystem supports persistent storage and efficient block reuse, and is exercised through user-level tools.

In addition to kernel services, I built a user-level shell and file utilities for directory listing and file inspection, enabling realistic interaction with the system.

Testing and Collaboration

Correctness was validated through structured testing of kernel services and filesystem behavior. The project was completed in a three-person team using Git-based collaboration workflows.

What I Learned

This project strengthened my understanding of low-level systems programming, memory and I/O abstractions, and the tight coupling between kernel design and user-level tooling. It also reinforced disciplined debugging practices in constrained, low-visibility execution environments.

Media

Code