OSpectra is a high-fidelity, interactive web application designed to help students and developers visualize complex operating system concepts. From multi-core process scheduling to memory management and database normalization, OSpectra provides a "hands-on" experience with core computer science principles.
An interactive terminal-driven kernel environment that simulates a multi-core CPU.
- Interactive Terminal: Command-line interface for process creation, killing, blocking, and system configuration.
- Multi-Core Scheduling: Simulate up to 8 CPU cores working in parallel.
- Advanced Algorithms:
- FCFS (First-Come, First-Served)
- RR (Round Robin) with configurable quantum.
- SJF (Shortest Job First)
- SRTF (Shortest Remaining Time First) - Preemption supported!
- Priority Scheduling
- Real-Time Visualization:
- Process States: Visual tracking of READY, RUNNING, BLOCKED, and TERMINATED states.
- CPU Timeline: A detailed Gantt-style timeline showing core utilization over time.
- System Logs: Live-updating event logs with internal scrolling.
- Pure Black Theme: A high-contrast, premium "Hacker" aesthetic for the terminal.
A dedicated page for comparing scheduling algorithms side-by-side.
- Compare FCFS, SJF, SRTF, RR, and Priority algorithms.
- Automatic calculation of Average Waiting Time and Average Turnaround Time.
- Interactive Gantt chart generation based on user-defined processes.
- Modern Design: Built with React, Vite, and Tailwind CSS.
- Glassmorphism: Sleek, transparent UI elements with vibrant accents.
- Responsive Layout: Optimized for both large monitors and laptop screens.
- Internal Scrolling: All simulation panels are height-constrained for a stable experience even with 100+ processes.
- Framework: React 18
- Build Tool: Vite
- Styling: Vanilla CSS + Tailwind CSS
- State Management: Zustand
- Animations: Framer Motion
- Icons: Lucide React
- Node.js (v16 or higher)
- npm or yarn
- Clone the repository:
git clone https://github.com/VrajPrajapati6/OSpectra.git
- Navigate to the project directory:
cd OSpectra - Install dependencies:
npm install
- Start the development server:
npm run dev
- Home: Quick overview and entry point.
- Kernel: Enter the interactive terminal. Type
helpto see the list of available OS commands. - Scheduler: Add processes manually or randomly generate them to see how different algorithms handle the load.
- Memory: Visualize paging and segmentation strategies.
This project was developed as part of the Operating Systems Lab curriculum to provide a visual and interactive way to learn core OS concepts.
Developed by:
- Name: Vraj Prajapati
- Roll No: 24BCE206
- Batch: C-3
- Division: C
- Branch: Computer Science & Engineering
Built with ❤️ for OS enthusiasts.



