Case study / Operating systems research

Embedded Xinu RISC-V OS Research

Core subsystem work for the 64-bit RISC-V port of Embedded Xinu: virtual memory, user process isolation, kernel boundaries, interrupts, device descriptors, and UART/TTY drivers.

Problem

Strengthen a teaching OS for isolated user processes

Embedded Xinu needed stronger process isolation, safer user/kernel boundaries, and device abstractions for a modern 64-bit RISC-V environment.

Role

NSF REU researcher

Designed and implemented low-level kernel features in C across memory management, process behavior, interrupt handling, and device interfaces.

01

Technical Work

Sv39 virtual memoryImplemented per-process isolated address spaces and safe user data transfer across the kernel boundary.
User process modelDesigned POSIX-style thread behavior, parent tracing, protected child processes, and virtualized device descriptors.
Interrupts and exceptionsRedesigned kernel interrupt and exception handling to support preemptible and blocking kernel operations.
Device driversBuilt interrupt-driven serial UART and TTY drivers on top of a device-tree-driven abstraction layer.
02

Security Relevance

This project demonstrates the systems foundation behind security work: memory protection, isolation, privilege boundaries, device behavior, and kernel control flow.