Skip to content

CPU Scheduling Simulator implementing FCFS, SJF, Priority, and Round Robin algorithms with Gantt Chart visualization and performance metrics

Notifications You must be signed in to change notification settings

SharadPal21/EnergyEfficientScheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CPU Scheduling Simulator

This project is a comprehensive CPU Scheduling Simulator that implements four key scheduling algorithms:

First-Come, First-Served (FCFS)Shortest Job First (SJF)Priority SchedulingRound Robin

The simulator provides a menu-based interface for easy selection and visualizes each algorithm's execution with a Gantt Chart and performance metrics like Average Waiting Time (AWT) and Average Turnaround Time (ATAT).

Features

User Input: Supports entering process details directly in the console.

Gantt Chart Visualization: Displays the process execution timeline.

Detailed Performance Metrics: Calculates AWT and ATAT for each algorithm.

Robust Error Handling: Ensures valid inputs are accepted.

How to Run the Project

Step 1: Clone the Repository :git clone https://github.com/SharadPal21/EnergyEfficientScheduler.git

cd EnergyEfficientScheduler

Step 2: Install the Required Packages : pip install matplotlib pandas numpy

Step 3: Run the Simulator python scheduler.py

Step 4: Select an Algorithm From the menu, choose: 1. First-Come, First-Served (FCFS) 2. Shortest Job First (SJF) 3. Priority Scheduling 4. Round Robin 5. Exit

Step 5: Follow the Prompts Enter process details such as:

    Arrival Time

    Burst Time

    Priority

    Power Level

Step 6: View Results

The system will display: Gantt ChartAverage Waiting Time (AWT)Average Turnaround Time (ATAT)

Sample Commands for Execution

Run each algorithm independently: python algorithms/fcfs.py python algorithms/sjf.py python algorithms/priority.py python algorithms/round_robin.py

Project Structure EnergyEfficientScheduler/ ├── algorithms/ │ ├── fcfs.py │ ├── sjf.py │ ├── priority.py │ ├── round_robin.py │ ├── utils.py ├── scheduler.py ├── README.md

GitHub Workflow

7+ Commits: Each feature and improvement was committed with clear messages.Branching Strategy: Each algorithm was developed in its own branch and merged into main after testing.Public Repository: Accessible to anyone for evaluation and review.

Support

For any questions or improvements, feel free to raise an issue or contribute directly.

About

CPU Scheduling Simulator implementing FCFS, SJF, Priority, and Round Robin algorithms with Gantt Chart visualization and performance metrics

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages