Skip to content

moudzx/CPU-scheduling-visualizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 

Repository files navigation

cpu-scheduling-visualizer

Features

CPU Scheduler

Supports multiple scheduling algorithms:

  • FCFS (First Come First Serve)
  • SJF (Shortest Job First) / Preemptive and Non Preemptive
  • Round Robin
  • Priority Scheduling / Preemptive and Non Preemptive

For each algorithm the application provides:

  • Editable process table
  • Arrival time
  • Burst time
  • Priority
  • Dynamic process addition/removal
  • Round Robin quantum configuration
  • Animated execution playback
  • Adjustable playback speed
  • Gantt chart visualization
  • Waiting time calculation
  • Turnaround time calculation
  • Average waiting time
  • Average turnaround time
  • Current execution indicator
  • Per-process execution timeline

csv.mp4

Countdown Timer

  • Enter any number of seconds
  • Large digital clock display
  • Start and reset controls
  • Progress bar visualization
  • Color changes as time runs out
  • Flashing "TIME'S UP!" notification
  • Uses Unix 'alarm()' and signal handling
timer

Educational Purpose

This project is suitable for:

  • Operating Systems courses
  • CPU scheduling demonstrations
  • Classroom presentations
  • Student projects
  • Visual learning of scheduling algorithms

Install Raylib


sudo apt update
sudo apt install build-essential git cmake pkg-config
  
sudo apt install cmake libgl1-mesa-dev libx11-dev libxrandr-dev libxi-dev libxinerama-dev libxcursor-dev

git clone --depth=1 --branch 5.0 https://github.com/raysan5/raylib.git

cd raylib && mkdir build && cd build

cmake .. -DPLATFORM=Desktop -DBUILD_SHARED_LIBS=OFF -DCMAKE_INSTALL_PREFIX=$HOME/raylib-install

make -j4 && make install

Compilation

gcc app.c -o app -I$HOME/raylib-install/include -L$HOME/raylib-install/lib -lraylib -lm -lpthread -ldl -lGL -lX11 -lXrandr -lXi -lXinerama -lXcursor && ./app

or run: bash compilation.sh

Initial storyboard

Priority CPU-Scheduling.pptx

License

MIT License

About

An interactive C application built with Raylib that combines a digital countdown of a low-lever timer and a CPU scheduling simulator. It supports FCFS, SJF, Round Robin, and Priority scheduling algorithms with animated execution timelines, Gantt chart visualization, process statistics, and a modern neon-inspired interface.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors