A Python-based Operating System project that simulates a dynamic disk I/O environment by implementing and comparing four disk scheduling algorithms: FCFS, SSTF, SCAN, and C-SCAN. The simulator evaluates each algorithm under different workloads based on disk head movement, average seek time, and response efficiency.
To simulate a dynamic disk I/O environment where multiple read/write requests are generated and implement four disk scheduling algorithms FCFS, SSTF, SCAN, and C-SCAN to compare their performance. The project analyzes disk head movement, average seek time, and response efficiency under varying workloads, providing insights into the effectiveness and trade-offs of different disk scheduling strategies.
- FCFS (First Come First Serve)
- SSTF (Shortest Seek Time First)
- SCAN
- C-SCAN
- Supports manual and random disk request generation
- Configurable disk size and initial head position
- Simulates multiple disk scheduling algorithms
- Calculates total head movement
- Computes average seek time
- Measures response efficiency
- Allows testing with different workloads for performance comparison
- Python 3
- Random Module
- Visual Studio Code
- Clone this repository.
- Open the project in Visual Studio Code or any Python IDE.
- Run the Python file:
python disk_scheduling.py-
Enter:
- Disk size
- Number of requests
- Initial head position
- Manual or random request generation
-
View and compare the performance of all scheduling algorithms.
The simulator evaluates each algorithm using:
- Total Head Movement
- Average Seek Time
- Response Efficiency
- Understand the working of disk scheduling algorithms.
- Compare the performance of FCFS, SSTF, SCAN, and C-SCAN.
- Analyze the impact of different workloads on disk performance.
- Study the trade-offs between fairness, efficiency, and seek time in disk scheduling.
β Developed as an Operating System Mini Project to demonstrate and compare disk scheduling techniques in a simulated disk I/O environment.