Skip to content

varun-spectre/xv6-Memory-Management-Enhancements

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xv6 Memory Management Mastery: On-Demand Loading and Copy-On-Write Brilliance

Project Summary:

In this project, I tackled the intricate realm of process memory management in the xv6 operating system, implementing crucial enhancements through on-demand paging and copy-on-write mechanisms. The tasks were meticulously executed as follows:

1. Enable On-Demand Binary Loading: Implemented dynamic loading of a program binary's contents, optimizing memory usage by loading only the necessary parts during process creation.

2. Design a Page Fault Handler: Developed a robust page fault handler intercepting and loading program binary contents on-demand, preventing process termination due to unhandled page faults.

3. Enable On-Demand Heap Memory: Efficiently managed system memory by implementing on-demand loading of heap memory, enhancing overall memory utilization.

4. Implement Page Swapping to Disk for Heap Memory: Addressed system memory limitations by implementing intelligent page swapping to disk during page faults, ensuring seamless operation even when free memory is scarce.

5. Implement Copy-On-Write (CoW) during Fork: Enhanced the fork() system call with the copy-on-write (CoW) optimization. This innovation allowed for the duplication of parent process memory, creating distinct yet identical memory spaces for parent and child processes, thereby conserving memory resources.

Tech Skills and Tools Utilized:

  • C Programming
  • Operating System Concepts
  • Memory Management
  • Page Fault Handling
  • Copy-On-Write (CoW) Optimization

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published