This project is an interactive web-based visualizer designed to simulate and compare different disk scheduling algorithms.
Disk scheduling is an important part of operating systems. When multiple I/O requests arrive, the OS must decide the order in which they are served. The choice of algorithm directly affects seek time, latency, and throughput.
This tool allows users to:
- Input disk request sequences
- Choose different scheduling algorithms
- Visualize head movements
- Compare total seek time
- Understand algorithm behavior through graphical representation
The purpose of this project is to provide conceptual clarity through visualization rather than just theoretical explanation.
- Interactive UI for entering disk requests
- Visualization of disk head movement
- Seek time comparison
- Multiple algorithm support
- Clean and responsive frontend
| Technology | Description |
|---|---|
| React | Frontend UI Library |
| Express.js | Backend Framework |
| Chart.js | Data Visualization |
| Vite | Frontend Build Tool |
| Node.js | Runtime Environment |
Navigate to the frontend directory:
cd frontend
Install dependencies:
npm install
Start development server:
npm run dev
Navigate to the backend directory:
cd backend
Install dependencies:
npm install
Start the backend server:
npm start
The simplest disk scheduling algorithm.
- Requests are served in the order they arrive.
- Easy to implement.
- Can result in high total seek time.
- No starvation.
- Poor average response time compared to optimized algorithms.
- Selects the request closest to the current head position.
- Reduces average seek time.
- May cause starvation for distant requests.
- Greedy approach.
- The disk arm moves in one direction servicing all requests.
- When it reaches the end, it reverses direction.
- Provides better performance than FCFS.
- More predictable wait time.
- Head moves in one direction only.
- After reaching the end, it jumps back to the beginning.
- Provides uniform waiting time.
- Better fairness compared to SCAN.
- Similar to SCAN.
- Head only moves up to the last request in that direction.
- Does not go to the physical end of disk unnecessarily.
- Reduces unnecessary head movement.
- Circular version of LOOK.
- Moves only up to the last request in current direction.
- Jumps to the farthest request at the other end.
- More efficient than C-SCAN in many cases.
The primary objectives of disk scheduling algorithms are:
Reduce the time required to move the disk head to the requested track.
Serve maximum I/O requests per unit time.
Reduce rotational delay required for sector positioning.
Understanding disk scheduling conceptually is not enough. Visualizing how head movement changes across algorithms builds deeper intuition about performance tradeoffs.
This project helps bridge theory and practical understanding.