struct.h
: This has structure of the process which has process ID, arrival time, burst time and struct object. Create struct object in this file if you need more process objects.
generatepid.c
: This generates and assigns process ids, arrival time, burst time.
main.c
: This file is used to let the user provide the number of processes which
is later used in other files.
graphics.c
: This has basic implementation of visualization using C graphics library graphics.h.
To add implementation of any new CPU scheduling algorithm:
To use this code you need to install some packages and libraries which will enable you to compile graphics.h program in Linux.
sudo apt-get install build-essential
For Ubuntu 16.04: sudo apt-get install libsdl-image1.2 libsdl-image1.2-dev guile-2.0 guile-2.0-dev libsdl1.2debian-all libart-2.0-dev libaudiofile-dev libesd0-dev libdirectfb-dev libdirectfb-extra libfreetype6-dev libxext-dev x11proto-xext-dev libfreetype6 libaa1 libaa1-dev libslang2-dev libasound2 libasound2-dev
Download libgraph.
tar -xvzf libgraph-1.0.2
cd libgraph-1.0.2
./configure
sudo make
sudo make install
sudo cp /usr/local/lib/libgraph.* /usr/lib
Compile and run the source code files.
gcc generatepid.c struct.h graphics.c main.c -lgraph
./a.out
Enter the number of process and view how these CPU scheduling algorithm works. Everything will be genrated randomly.