MMUProject
In the last couple of months we built from scratch MMU - Memory menagement unit - That's the part in the Operating System that in charge of allocating system resources to processes according to many different parameter - Caching Algorithms.
We develop the MMU with software architecture principles:
- SingelTone:
- We use it to enforce only one instance of a class, Main window, Logger, Database access.
- Strategy:
- a way to encapsulate different approaches for class behavior and decide which one to use during runtime Caching Algorithms.
- MVC:
- Model - incharge of the logic.
- View - The inteface with the User.
- Controller - Connects the 2.
What is Process? Process is a computer program instance. For Example Google Chrome is a computer program and Every new Tab is a process.
How the OS prioritize CPU time per process?
In our project we implemented 3:
- LRU.
- NFU.
- RANDOM.
Installation instructions:
- Open project Of the caching Algorithm part from: https://github.com/4tal/CacheAlgorithms
- Make sure the test are working and than create a Jar file (not excecutable).
- Add the JAR File to MMU.
- Add another external JAR -