-
Notifications
You must be signed in to change notification settings - Fork 0
Summary
Virtual memory is an indispensable element of modern operating systems. That is why it is very important to choose the best possible algorithm for page replacement to optimize and speed up access to data.
The project attempts to approximate the issue of page replacement on the example of four algorithms: optimal, aging, LRU, clock.
In the first step we erected the purpose and scope of the project.
In the second step, an analysis of the operation and complexity of the above algorithms was performed and assumptions were made to be taken into account in the implementation and comparison of algorithms. Then, the computational complexity of the algorithms was estimated.
In the third step, the application (simulator) of page replacement algorithms was designed. It was decided on an object-oriented, interpreted Python programming language.
The concepts of algorithms are presented in detail, paying attention to the elements needed to implement them and presenting the pros and cons of solutions. Application design depicted the class diagram and the main test.
The proposed structure of input data and application results has been described.
The fourth step in creating the project was the implementation of the system. The auxiliary classes and main classes of applications that directly implement the algorithms are described in detail. In the latter, attention was paid to the code fragments necessary for the operation, presenting them in the form of listings.
Previously designed methods for reading input and output data have been implemented. Output was used later to present the results of algorithms.
The fifth step was testing the system. Particular attention has been paid to the verification of the correctness of the operation of algorithms, which were supported by examples. On the basis of tests carried out manually (on paper) was created tests using unittest in Python package.
Then, the algorithm analysis was performed. Particular attention was paid to the number of page faults depending on the number of frames and the test file. With research and testing conclusions have been drawn.