Skip to content

fxlin/uva-os-world2

Repository files navigation

UVA-OS Lab2 "Embedded"

This is part of the UVA-OS class (CS4414/CS6456).

OVERVIEW | LAB1 | LAB2 | LAB3 | LAB4 | LAB5

Students: see quests-lab2.md

Changelog

  • 1/30/25: improved code comments

GALLERY

description

description

DESIGNS

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.

description

✅ Scheduler: cooperative & preemptive

✅ Memory allocator (simple)

✅ Task management (sleep, wait, exit, kill)

⛔ EL1 only ⛔ No virtual memory

QUICKSTART

For rpi3 (QEMU)

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

For rpi3 (hardware)

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors