* Project: xv6 Memory Mapping
– In this project, you’re going to learn more about the memory management subsystem in xv6. In this process, you will improve some existing mechanisms in xv6 to provide a more secure and performant system.
– Additionally, you will implement a new functionality which allows the user to map files into memory.
– To provide better security, you will change existing xv6 to set correct protection for different program sections.
– Moreover, you will increase the performance by using copy-on-write when a process forks.
– Finally, you will support memory mappings through a pair of system calls, wmap and wunmap.
* Deadline (for me): December 3, 2024 (CST/GMT-6)
* Version Specifics:
– Programming Language: C
– Operating System: Ubuntu 22.04 LTS Linux
– Docker (for xv6): Step-by-step setup instructions and a xv6 manual will be provided
* Repository (as a .zip file)
– It will include a README file containing an in-depth explanation of the project, step-by-step implementation instructions, and hints. I will send this README file once I receive a proposal from you.
– To aid you even further, there is a tests/ directory containing 26 tests and a test script to run them. Your implementation must pass all of the test cases.
– The directory where you implement your code and make changes is in xv6-public/. It contains all of the starter xv6 OS files.
* Important Notes
– Feel free to ask me any questions during the project.
– Please complete the project earlier than later. The deadline I provided is strict.
– I will need to ensure the project runs and passes all of the tests provided on my own computer before ending the contract.