Paging Simulator

Project Overview

All modern operating systems use virtual memory and paging in order to effectively utilize the computer’s memory hierarchy. Paging is an effective means of providing memory space protection to processes, of enabling the system to utilize secondary storage for additional memory space, and of avoiding the need to allocate memory sequentially for each process.

The goal of this project is to implement a paging strategy that maximizes the performance of the memory access in a set of predefined programs. This is accomplished by using a paging simulator and writing a paging strategy that the simulator utilizes (roughly equivalent to the role the page fault handler plays in a real OS). The initial goal was to create a Least Recently Used paging implementation and then continue to implement a predictive page algorithm to increase the performance of the solution.

Project Repo: