Skip to main content Link Menu Expand (external link) Document Search Copy Copied


The Pintos userspace that you implemented in Project 1 is subject to a major limitation — there is no way to perform any dynamic memory allocation in a user program. Presently, all memory in a user process must either have been loaded from the executable (e.g. code, globals) or must be allocated on the stack.

In this homework, you will provide a way for a user process to explicitly request more memory from the Pintos kernel and use this feature to create your own implementation of malloc, realloc, and free.

Getting started

Log into your VM and pull the skeleton code from the staff repository:

cd ~/code/personal
git pull staff main
cd hw-memory

If you completed any previous assignments locally, make sure to run git pull personal main as well.