This project describe and simulate the Memory Management Unit (computer hardware unit having all memory references passed through itself) operation in the OS.
The project contains external project (as Jar) that implements 3 generic cache algorithms. The main purpose is to simulate the work of the memory components when page-fault or page-replacement occur, while each process is represented by a separate thread. In addition, other threads are used for running CLI and GUI (created with Swing).
In general: Using JSON configuration file, java containers, threads and executor, MVC model, jars and unit testing.