Virtual Memory Simulator for educational purposes, built with C++ and Python.
Important
We are currently working on the project. Please check back later for updates and better documentation.
The project is organized into the following directories:
Memulatrix/
│── docs/ # Documentation (README, architecture diagrams, API docs)
│── src/ # Source code
│ ├── cpp/ # C++ core simulation
│ │ ├── include/ # Header files (.h)
│ │ ├── src/ # C++ source files (.cpp)
│ │ ├── tests/ # Unit tests for C++ modules
│ │ ├── CMakeLists.txt # CMake configuration for C++ build system
│ ├── python/ # Python UI & visualization
│ │ ├── ui/ # Tkinter UI components
│ │ ├── visualization/ # Matplotlib-based visualizations
│ │ ├── bridge/ # C++-Python communication layer
│ │ ├── main.py # Entry point for the UI
│ │ ├── requirements.txt # Python dependencies
│── build/ # Compiled binaries & intermediate build files
│── tests/ # End-to-end tests & integration tests
│── examples/ # Sample test cases for simulation
│── logs/ # Runtime logs, memory usage stats
│── Makefile # Alternative to CMake for build automation
│── .gitignore # Ignore compiled files, logs, etc.
│── README.md # Project overview
- C++ compiler (g++) - version 14
- Python 3.8 or higher
- Create the
binfolder in the root directory:you'll get something likemkdir bin
Memulatrix/bin - Navigate to the
src/cppdirectory:you'll be in something likecd src/cppMemulatrix/src/cpp - Run the build command:
Manually verify that the
g++ -std=c++14 -Iinclude -DCPPHTTPLIB_NO_UNIX_SOCKETS src/virtual_memory_simulator.cpp src/page_table.cpp src/socket_handler.cpp -o D:\projects\Memulatrix\bin\virtual_memory_simulator.exe -lWs2_32
virtual_memory_simulator.exefile is created in thebindirectory. - Run the Python UI from the root directory:
python src/python/main.py

