tapaswenipathak / Visualization-of-CPU-Scheduling-Algorithms

Visualization of CPU Scheduling Algorithms.
MIT License
65 stars 28 forks source link

Visualization of CPU Scheduling Algorithms

GitHub issues GitHub forks GitHub stars GitHub license Twitter

Code structure

  1. 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.

  2. generatepid.c: This generates and assigns process ids, arrival time, burst time.

  3. main.c: This file is used to let the user provide the number of processes which is later used in other files.

  4. graphics.c: This has basic implementation of visualization using C graphics library graphics.h. To add implementation of any new CPU scheduling algorithm:

    • Change the name of the algorithm
    • Manipulate the sorting algorithm

Instructions

To use this code you need to install some packages and libraries which will enable you to compile graphics.h program in Linux.

  1. sudo apt-get install build-essential

  2. 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

  3. 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

  1. Compile and run the source code files.

    
    gcc generatepid.c struct.h graphics.c main.c -lgraph
    
    ./a.out
    
  2. Enter the number of process and view how these CPU scheduling algorithm works. Everything will be genrated randomly.