An interactive visual system builder for learning operating system concepts through hands-on simulation and experimentation.
- π¨ Visual Node-Based Interface - Build complex system architectures with an intuitive drag-and-drop interface
- β‘ High-Performance Simulation Engine - Rust/WebAssembly powered simulation for real-time execution
- π± Cross-Platform - Available as desktop app (Windows, macOS, Linux) and Android mobile app
- π Educational Levels - Structured learning path from basics to advanced OS concepts
- π Real-Time Visualization - See how processes, memory, and scheduling work in real-time
- πΎ Memory Management - Visualize paging, segmentation, and virtual memory
- π Process Scheduling - Experiment with different scheduling algorithms
- π Deadlock Detection - Understand and resolve deadlock scenarios
- π Performance Metrics - Track and analyze system performance
Download the latest release for your platform:
- Windows: Download .exe or .msi
- macOS: Download .dmg
- Linux: Download .AppImage or .deb
Download APK and install on your Android device.
# Clone the repository
git clone https://github.com/ieee-cs-bmsit/visual-system-builder.git
cd visual-system-builder
# Install dependencies
npm install
# Build the simulation engine (Rust/WASM)
cd simulation-engine
wasm-pack build --target web --release
cd ..
# Run in development mode
npm run dev
# Build for production
npm run build
# Build desktop app
npm run tauri build
# Build Android app (requires Android Studio)
npm run tauri android build- Launch the application - Open the desktop app or Android app
- Choose a level - Select from beginner to advanced scenarios
- Build your system - Drag and drop components to create your OS architecture
- Run simulation - Click "Start" to see your system in action
- Analyze results - Review performance metrics and behavior
visual-system-builder/
βββ src/ # React frontend
β βββ components/ # UI components
β βββ modules/ # OS module simulation logic
β βββ levels/ # Educational scenarios
β βββ simulation/ # Simulation state management
βββ simulation-engine/ # Rust/WASM backend
β βββ src/
β β βββ memory/ # Memory management
β β βββ process/ # Process scheduling
β β βββ lib.rs # WASM bindings
β βββ Cargo.toml
βββ src-tauri/ # Tauri desktop/mobile app
β βββ src/main.rs # Tauri main process
β βββ tauri.conf.json # App configuration
βββ .github/workflows/ # CI/CD pipelines
- Frontend: React 18, Vite, ReactFlow, Zustand
- Simulation Engine: Rust, WebAssembly (wasm-pack)
- Desktop/Mobile: Tauri
- Styling: Tailwind CSS
- Testing: Jest, Playwright, Cargo Test
- CI/CD: GitHub Actions
We welcome contributions from the community! Please read our Contributing Guide to get started.
# Install dependencies
npm install
cd simulation-engine && cargo build && cd ..
# Run tests
npm test # Frontend tests
cd simulation-engine && cargo test && cd .. # Rust tests
# Run linters
npm run lint
cd simulation-engine && cargo clippy && cd ..This project is actively maintained by the IEEE Computer Society, BMSIT&M Chapter.
- β Desktop applications for Windows, macOS, Linux
- β Android mobile app
- β Comprehensive testing suite
- β Automated CI/CD pipeline
- π§ iOS app (planned)
- π§ Web-based version (planned)
This project is licensed under the MIT License - see the LICENSE file for details.
- Built with β€οΈ by the Visual System Builder Team
- IEEE Computer Society, BMSIT&M Chapter
- All our amazing contributors
- π Report a Bug
- π‘ Request a Feature
- π¬ Discussions
Made with β€οΈ for operating systems education