In this individual assignment, you will familiarize yourself with the development environment. You will learn how to compile, assemble and link your code; how to load and execute it in QEMU, and how to debug it using GDB.
In this individual assignment, you will write a screensaver in RISC-V assembly language.
This is a three-part individual assignment. For the first checkpoint, you will implement an interrupt-based serial port driver. For the second checkpoint, you will implement a VirtIO driver for the entropy device. For the third checkpoint, you will implement kernel threads and condition variables.
This is a three-part group assignment—you may work with one or two other students. For the first checkpoint, you will implement program loading, a block device driver, locks, a cache, and a read-only file system. For the second checkpoint, you will enable virtual memory protection, implement system calls, and make your file system writable. For the third checkpoint, you will implement the fork system call, pipes, and a shell.