A desktop application developed in Python that simulates common disk scheduling algorithms used in Operating Systems. The simulator allows users to visualize disk head movement, compare algorithm performance, and understand how different scheduling techniques affect seek time and total head movement.
Disk scheduling is an important concept in Operating Systems because it determines the order in which disk requests are serviced. Efficient scheduling reduces disk head movement and improves overall system performance.
This simulator implements four popular disk scheduling algorithms and provides a graphical interface for interactive learning.
- Graphical User Interface (GUI) built with Tkinter
- Implementation of four disk scheduling algorithms:
- FCFS (First Come First Serve)
- SSTF (Shortest Seek Time First)
- SCAN
- C-SCAN
- Calculates:
- Service Order
- Total Head Movement
- Seek Time
- Graphical visualization of disk head movement using Matplotlib
- Save simulation results to a text file
- Clear input fields
- Exit application
- Python 3
- Tkinter
- Matplotlib
- Visual Studio Code
- Git & GitHub
DiskSchedulingSimulator/ │── gui.py │── fcfs.py │── sstf.py │── scan.py │── cscan.py │── graph.py │── visualizer.py │── utils.py │── README.md
Clone the repository:
git clone https://github.com/Merfi-Yussuf/DiskSchedulingSimulator.gitNavigate into the project:
cd DiskSchedulingSimulatorInstall Matplotlib (if not already installed):
pip install matplotlibRun the application:
python gui.pyProcesses disk requests in the order they arrive.
Services the request closest to the current head position.
Moves the disk head in one direction while servicing requests before reversing direction.
Moves the disk head in one direction only, then jumps back to the beginning of the disk and continues servicing requests.
- LOOK Algorithm
- C-LOOK Algorithm
- Improved input validation
- Export results to PDF
- Animated disk head movement
- Executable (.exe) version
Merfi Yussuf
Software Engineering Student
United States International University – Africa (USIU-Africa)
This project is intended for educational purposes.

