Due Friday, August 29 at 18:00 US Central Time
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.
Due Friday, September 12 at 18:00 US Central Time
In this individual assignment, you will write a screensaver in RISC-V assembly language.
Checkpoint 1 due Friday, October 3 at 18:00 US Central Time
Checkpoint 2 due Friday, October 3 at 18:00 US Central Time
Checkpoint 3 due Friday, October 17 at 18:00 US Central Time
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.
Checkpoint 1 due Friday, October 31 at 18:00 US Central Time
Checkpoint 2 due Friday, November 21 at 18:00 US Central Time
Checkpoint 3 due Friday, December 5 at 18:00 US Central Time
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, a cache, and 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.