An interactive Operating System Visualizer built with React, TypeScript, and Vite that helps students understand CPU Scheduling algorithms and Deadlock Detection through real-time simulation and visualization.
🔗 Live Demo: https://kernelviz.vercel.app
Supports simulation of the following scheduling algorithms:
- First Come First Serve (FCFS)
- Shortest Job First (SJF)
- Shortest Remaining Time First (SRTF)
- Round Robin (RR)
- Priority Scheduling (Non-Preemptive)
- Priority Scheduling (Preemptive)
For every simulation, KernelViz calculates:
- Waiting Time
- Turnaround Time
- Response Time
- Completion Time
- CPU Utilization
- Throughput
Visualize process execution with a dynamic Gantt Chart that updates according to the selected scheduling algorithm.
Includes an implementation of Banker's Algorithm to determine whether the system is in a safe or unsafe state.
Features include:
- Resource Allocation Matrix
- Maximum Need Matrix
- Need Matrix Calculation
- Safe Sequence Detection
- Deadlock Detection
- Recovery Suggestions
- Step-by-step execution log
| Technology | Purpose |
|---|---|
| React | Frontend UI |
| TypeScript | Type Safety |
| Vite | Build Tool |
| Tailwind CSS | Styling |
| shadcn/ui | UI Components |
| Lucide React | Icons |
git clone https://github.com/Ali-khan-786/kernelviz.gitcd kernelviznpm installnpm run devOpen
http://localhost:5173
src
│
├── components
│ └── UI Components
│
├── hooks
│
├── lib
│ ├── cpu-scheduler.ts
│ ├── bankers-algorithm.ts
│ └── utils.ts
│
├── pages
│ ├── cpu-scheduling.tsx
│ ├── deadlock-detection.tsx
│ └── not-found.tsx
│
├── App.tsx
└── main.tsx
- FCFS
- SJF
- SRTF
- Round Robin
- Priority (Non-Preemptive)
- Priority (Preemptive)
- Banker's Algorithm
KernelViz was developed to simplify complex Operating System concepts through interactive visualization.
It helps students understand:
- Process Scheduling
- Context Switching
- CPU Utilization
- Safe and Unsafe States
- Deadlock Detection
- Resource Allocation
- Performance Analysis
- Disk Scheduling Algorithms
- Page Replacement Algorithms
- Memory Allocation Visualization
- Producer-Consumer Simulation
- Dining Philosophers Simulation
- Multi-Level Queue Scheduling
- Export Simulation Report as PDF
- Load Sample Test Cases
Contributions, suggestions, and improvements are always welcome.
Feel free to fork the repository and submit a pull request.
Ali Khan
GitHub: https://github.com/Ali-khan-786
If you found this project useful, consider giving it a ⭐.