Skip to content

fxlin/uva-os-world3

Repository files navigation

UVA-OS Lab3 "Minimal User"

To UVA students: the kernel code will be available after the submission opens

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

OVERVIEW | LAB1 | LAB2 | LAB3 | LAB4 | LAB5

Students: see quests-lab3.md

GALLERY

description

description

mario.lab3.scr.mp4

DESIGNS

alt text

This OS introduces virtual memory and user/kernel separation. It provides syscalls and can run one or multiple "Mario" applications concurrently in userspace.

✅ Virtual memory

✅ User/kernel separation (EL0/EL1)

✅ Syscalls: task related (fork/exec/sbrk/exit...); write (simplified)

✅ Userspace (two simple apps + a minimal library)

⛔ No files or filesystems ⛔ No procfs or devfs ⛔ No input device (can't control Mario)

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