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

No packages published