Homework 4: Address Spaces

This assignment will teach you how to extend your minimal kernel with support for constructing address spaces (i.e., both the kernel and the process page table). Technically, you can do this assignment on Linux, Mac or WSL (Windows Subsystem for Linux). Submit your code through Gradescope (see instructions at the bottom of this page).

NOTE: YOU CANNOT PUBLICLY RELEASE SOLUTIONS TO THIS HOMEWORK.

It’s ok to show your work to your future employer as a private Git repo, however any public release is prohibited.

Overview

This homework asks you to extend your HW3 submission with support for creating address spaces.

map_generic()

https://github.com/mars-research/redleaf/blob/master/kernel/src/arch/vspace.rs#L204

x86 crate https://docs.rs/x86/latest/src/x86/bits64/paging.rs.html#1296-1336

Submitting your work

Submit your work on Gradescope similar to HW1 and HW2. We will get the autograder working soon.