Crate keos_project3

Crate keos_project3 

Source
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.rs
  • fork.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 the fork system 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
Fork with Copy-On-Write optimization.
lazy_pager
Lazy Paging
process
The process model for project3.

Enums§

SyscallNumber
Represents system call numbers used in project3.