Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Disk Scheduling Simulator

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.

Overview

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.

Features

  • 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

Technologies Used

  • Python 3
  • Tkinter
  • Matplotlib
  • Visual Studio Code
  • Git & GitHub

Project Structure

DiskSchedulingSimulator/ │── gui.py │── fcfs.py │── sstf.py │── scan.py │── cscan.py │── graph.py │── visualizer.py │── utils.py │── README.md

Installation

Clone the repository:

git clone https://github.com/Merfi-Yussuf/DiskSchedulingSimulator.git

Navigate into the project:

cd DiskSchedulingSimulator

Install Matplotlib (if not already installed):

pip install matplotlib

Run the application:

python gui.py

Algorithms Implemented

FCFS

Processes disk requests in the order they arrive.

SSTF

Services the request closest to the current head position.

SCAN

Moves the disk head in one direction while servicing requests before reversing direction.

C-SCAN

Moves the disk head in one direction only, then jumps back to the beginning of the disk and continues servicing requests.

Screenshots

  • Main Interface Main Interface

  • Simulation Results Simulation Result

Future Improvements

  • LOOK Algorithm
  • C-LOOK Algorithm
  • Improved input validation
  • Export results to PDF
  • Animated disk head movement
  • Executable (.exe) version

Author

Merfi Yussuf

Software Engineering Student

United States International University – Africa (USIU-Africa)

License

This project is intended for educational purposes.

About

A Python-based Disk Scheduling Simulator implementing FCFS, SSTF, SCAN, and C-SCAN with a Tkinter GUI and Matplotlib visualization.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages