Virtual Memory
Deadline & Submission
Code Due: Thursday 05/30 11:59pm
- Use
make submission
to tarball and compress your code assubmission.tar.bz2
- Change the name of submission.tar.bz2 to
submission_yourStudentID.tar.bz2
, e.g.,submission_20000xxxxx.tar.bz2
- Submit this file to the
Tacos Lab3: Virtual Memory
on PKU course websiteDesign Doc Due: Sunday 06/02 11:59pm
- Submit your design document as a PDF to the
Tacos Lab3: Design Doc Assignment
on PKU course website
By now you have already touched almost every modules in Tacos. Tacos's thread module supports multiple threads of execution, and a thread could potentially be a process and execute any user programs. Syscalls, as the interface between user and OS, allow user programs to perform I/O or wait for other workers. However, it cannot fully utilize the machine -- for example, the user stack size is limited to 4KiB.
In this assignment, you will extend Tacos's virtual memory module. This assignment is extremely challenging, you will spend tons of time dealing with complex concurrency problems. You will extend the functionality of mem/
module, but you also need to modify things under other subdirectories, such as the page fault handler, to support your design.
You are required to start your lab3 implementation from a working lab2 implementation. To get a full score, you will need to pass all the tests in lab2 and lab3. See the testing page for details.