Skip to content

VrajPrajapati6/OSpectra

Repository files navigation

OSpectra: Interactive Kernel & OS Simulator

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.

Simulation Preview

🚀 Key Features

🖥️ Kernel Simulator PRO

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.

Kernel Page

📊 Scheduling Visualizer

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.

Scheduling Page

Memory Visualization

🎨 Premium UI/UX

  • 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.

🛠️ Tech Stack

  • Framework: React 18
  • Build Tool: Vite
  • Styling: Vanilla CSS + Tailwind CSS
  • State Management: Zustand
  • Animations: Framer Motion
  • Icons: Lucide React

🚥 Getting Started

Prerequisites

  • Node.js (v16 or higher)
  • npm or yarn

Installation

  1. Clone the repository:
    git clone https://github.com/VrajPrajapati6/OSpectra.git
  2. Navigate to the project directory:
    cd OSpectra
  3. Install dependencies:
    npm install
  4. Start the development server:
    npm run dev

📖 Usage

  • Home: Quick overview and entry point.
  • Kernel: Enter the interactive terminal. Type help to 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.

👤 About Us

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.

About

OSpectra is an advanced web-based Operating System simulator built with Next.js, featuring multi-core CPU scheduling, kernel-level process management, real-time animations, and step-by-step execution. It visualizes OS internals like process states, interrupts, and memory behavior through an interactive, modern UI.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages