Skip to content

lorainemg/scheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CPU Scheduling Simulator

Overview

This project is a CPU Scheduling Simulator that implements various scheduling algorithms, including:

  • First-Come, First-Served (FIFO)
  • Shortest Job First (SJF)
  • Shortest Time to Completion First (STCF)
  • Round Robin (RR)

The simulator processes jobs with different arrival times, execution times, and potential interruptions. It calculates metrics such as turnaround time and response time to compare scheduling strategies.

Features

  • Job Handling: Models job execution with arrival times, execution times, and I/O interruptions.
  • Multiple Scheduling Algorithms: FIFO, SJF, STCF, and Round Robin scheduling.
  • Performance Analysis: Calculates turnaround time, response time, and maximum completion time.
  • Configurable Quantum Time: For Round Robin scheduling.

Installation

Prerequisites

  • Python 3.x
  • NumPy

Setup

Clone this repository:

git clone <repo-url>
cd <project-folder>

Install dependencies:

pip install numpy

Usage

Run the main script:

python main.py

The program will execute scheduling algorithms and output performance metrics.

Project Structure

│── main.py            # Entry point for the simulation  
│── operating_sys.py   # Defines Operating System and Job classes  
│── scheluder.py       # Implements scheduling algorithms  
└── README.md          # Project documentation

License

This project is released under the MIT License.

About

Implementation of a scheduler with the following algorithms: FIFO, STF, STCF, RR

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages