in case you are using Nix please use the shell of shell.nix inside the root directory of this project you can do that by running the command
nix-shellyou can run the program using make provided by gnumake package
make clean buildthen a folder if not exist will be created called build where these binaries will be compiled.
➜ ls
.rwxr-xr-x 1 16k -- clk.out
.rwxr-xr-x 1 16k -- process.out
.rwxr-xr-x 1 17k -- process_generator.out
.rwxr-xr-x 1 23k -- scheduler.out
.rwxr-xr-x 1 16k -- test_generator.out
Now we have the programs compiled we will need to execute them in the correct order
first we will excute test_generator.out the name can be misleading at first but essentially it will create a number of processes that you can specify processes here arn't actual executables they are just virtual in a so the emulation we are making executes so run
./test_generator.outit should ask you for a user input number so in my case I will say 20

the results are random but in all cases a processes.txt file is created resulting in a similar output to this
after making the random processes, we will take them and run them through any of the scheduling methods we have implemented inside schedule.out by using the process_generator.out
./process_generator.outafter then a log will be created in build/scheduler.log so even if you miss the output of the program the logs will still tail you the simulation and lastly there is a scheduler.pref
