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.
• 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.
• 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.
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)
• User Input → Generate Page Reference String → Execute FIFO, LRU, Optimal Algorithms → Display Page Faults → Show Results in GUI
• Repository Name: [Virtual-Memory-Optimization-Challenge]
• GitHub Link: [https://github.com/ayush12325270]
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.
• Abraham Silberschatz, Peter B. Galvin, Greg Gagne – Operating System Concepts.
• Stallings, William – Operating Systems: Internals and Design Principles.