Expand description
§Project 3: Advanced Memory Management
In Project 3, you will expand KeOS’s memory subsystem by implementing more sophisticated techniques to manage memory efficiently. The focus will be on two key features:
-
Lazy Paging: A strategy that delays allocation until a page is actually accessed, reducing memory usage and improving performance.
-
Fork with Copy-On-Write: An optimized process duplication mechanism where memory pages are initially shared between the parent and child processes, and only duplicated when a write occurs.
Together, these mechanisms are essential for building a modern, efficient operating system that handles memory-intensive workloads effectively.
§Getting Started
To get started, navigate to the keos-project3/grader directory and run:
$ cargo run§Modifiable Files
In this project, you can modify the following two files:
lazy_pager.rsfork.rs
§Project Outline
-
Lazy Paging: Implement demand paging, deferring memory allocation and actual page loading until the first access triggers a page fault. -
Fork: Implement theforksystem call using Copy-on-Write (COW), allowing processes to share memory pages efficiently until one attempts to modify them.
Re-exports§
pub use process::Process;
Modules§
- fork
Forkwith Copy-On-Write optimization.- lazy_
pager - Lazy Paging
- process
- The process model for project3.
Enums§
- Syscall
Number - Represents system call numbers used in project3.