// CPUScheduler.h Dave Reed // // CPUScheduler class /////////////////////////////////////////////////////////////////////////////// #ifndef _CPU_SCHEDULER_ #define _CPU_SCHEDULER_ #include #include #include "Job.h" using namespace std; class CPUScheduler { public: CPUScheduler(string filename, int delay, int slice); // CONSTRUCTOR bool jobsRemaining() const; // RETURNS TRUE IF JOBS IN EITHER QUEUE void execute(); // EXECUTES CURRENT JOB, UPDATES QUEUES private: queue readyQueue; // JOBS READY TO EXECUTE int timeSlice, loadDelay; // LENGTHS OF TIME SLICE, LOADING int sliceTimeRemaining, loadTimeRemaining; // TIME REMAINING IN JOB SLICE, LOADING int currentTime, turnaroundTotal, waitTotal, totalJobs, wastedTime; // STATS }; #endif