Skip to content

fxlin/uva-os-world5

Repository files navigation

UVA-OS Lab5 "Rice User"

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

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

OVERVIEW | LAB1 | LAB2 | LAB3 | LAB4 | LAB5

Students: see quests-lab5.md

GALLERY

2.dooms.on.TV.small.mp4
short.4mairo-doom-nplayer-scr.mp4

DESIGNS

The OS now includes a full libc (newlib) and miniature libSDL (for abstracting input/output events), atop which we port additional applications, including a music player, a blockchain miner, and DOOM (1993, itrunsdoom). To enable easy file exchanges between our OS and PC/Mac machines, we also bring up the SD card driver and port FAT32 filesystem support. We implement a desktop environment, comprising a simple window manager and an input dispatcher; as such multiple apps can be rendered on the screen concurrently. Eventually, we bring up all four CPU cores to unleash full power of the Raspberry Pi 3.

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.

✅ More syscalls: thread related (clone/semaphore)

✅ libc (newlib)

✅ SDL

✅ SD card

✅ FAT32

✅ DOOM

✅ Desktop

✅ Multicore

✅ Waveshare Raspberry Pi GAMEHAT

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