This is part of the UVA-OS class (CS4414/CS6456).
OVERVIEW | LAB1 | LAB2 | LAB3 | LAB4 | LAB5
Students: see quests-lab2.md
- 1/30/25: improved code comments
This OS resembles what you would see in an "embedded systems" course. In addition to World 1 features, it can run multiple tasks and preempt their execution. However, everything still runs at EL1.
✅ Scheduler: cooperative & preemptive
✅ Memory allocator (simple)
✅ Task management (sleep, wait, exit, kill)
⛔ EL1 only ⛔ No virtual memory
export PLAT=rpi3qemu
| Action | Command |
|---|---|
| To clean up | ./cleanall.sh |
| To build everything | ./makeall.sh |
| To run on qemu | ./run-rpi3qemu.sh |
| Launch qemu for debugging | ./dbg-rpi3qemu.sh |
export PLAT=rpi3
| Action | Command |
|---|---|
| To clean up | ./cleanall.sh |
| To build everything | ./makeall.sh |
(One time): Prepare the SD card
https://github.com/fxlin/uva-os-main/tree/main/make-sd
Copy the kernel image kernel8.img to the partition named bootfs and boot.


