Skip to content

ayush12325270/Virtual-Memory-Optimization-Challenge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Virtual-Memory-Optimization-Challenge

1. Project Overview


This project focuses on optimizing virtual memory management using three page replacement algorithms: FIFO (First In First Out), LRU (Least Recently Used), and Optimal Page Replacement. The goal is to analyze their efficiency in handling page faults under different memory constraints. A graphical user interface (GUI) is developed using Tkinter to allow users to input parameters and visualize results.

2. Module-Wise Breakdown


• Page Reference String Generation: Generates a random sequence of pages to simulate memory requests.
• FIFO Algorithm: Implements the First In First Out page replacement strategy.
• LRU Algorithm: Implements the Least Recently Used page replacement strategy.
• Optimal Algorithm: Implements an optimal page replacement strategy based on future requests.
• Graphical User Interface (GUI): Uses Tkinter to enable user interaction and display results.
• Result Analysis: Compares page faults for each algorithm.

3. Functionalities


• Allows users to enter frame size.
• Generates a random page reference string.
• Runs FIFO, LRU, and Optimal algorithms to compute page faults.
• Displays results in an interactive and user-friendly format.
• Provides a clean and responsive UI.

4. Technology Used


Programming Languages:
• Python

Libraries and Tools:
• Tkinter (for GUI development)
• Random (for generating page reference strings)
• Messagebox (for handling user errors)

Other Tools:
• GitHub (for version control and collaboration)
• VS Code / PyCharm (for development)

5. Flow Diagram


• User Input → Generate Page Reference String → Execute FIFO, LRU, Optimal Algorithms → Display Page Faults → Show Results in GUI

6. Revision Tracking on GitHub


• Repository Name: [Virtual-Memory-Optimization-Challenge]
• GitHub Link: [https://github.com/ayush12325270]

7. Conclusion and Future Scope


Conclusion:
This project successfully simulates different page replacement algorithms and provides a clear visualization of their efficiency. It demonstrates the advantages and drawbacks of FIFO, LRU, and Optimal strategies.

Future Scope:
• Implementing additional algorithms like Clock, LFU (Least Frequently Used), and Second Chance.
• Allowing users to enter a custom page reference string.
• Adding statistical analysis on page fault rates.
• Developing a web-based version for broader accessibility.

8. References


• Abraham Silberschatz, Peter B. Galvin, Greg Gagne – Operating System Concepts.
• Stallings, William – Operating Systems: Internals and Design Principles.

Releases

No releases published

Packages

No packages published