This program allows the user to enter in a series of commands and then schedules the specified jobs to run on multiple CPU cores as separate processes. PQSH utilizes the FIFO (first in first out) algorithm as well as the Round-Robin algorithm. Its purpose is to schedule as many running jobs as there are CPU cores using either the FIFO or Round Robin scheduling policies. Unlike a regular shell, commands in pqsh are not executed right away. Instead, new jobs are added to a waiting queue, where they are processed by an internal scheduling policy such as FIFO or Round Robin. When there are available resouces (ie. CPUs), the scheduler will move the job from the waiting queue to the running queue. When the job terminates, it will then move to the finished queue.
Check out a quick video of an implementation of 2 cores on round robin scheduling policy by clicking on PQSH below!