public void update(CPUMetrics metrics) { setCurrentJobNumber(metrics.currentJobNumber); setProgramCounter(metrics.programCounter); setTotalInstructionsNumber(metrics.totalInstructionsNumber); setCurrentState(metrics.currentState); setCurrentInstruction(metrics.currentInstruction); }
/** * Function makes call that updates the gui with the most recent metric data. * * @param state The current state of the CPU, RUNNING, LOADING,... see enum type. * @param instruction * @see Driver#updateCpuMetric(CPUMetrics) */ private void updateMetrics(CPUMetrics.CPU_STATE state, String instruction) { CPUMetrics metrics = new CPUMetrics(cpuNum); metrics.setTotalInstructionsNumber(jobCounter); metrics.setProgramCounter(programCounter); metrics.setCurrentJobNumber(currentJobNumber()); metrics.setCurrentState(state); metrics.setCurrentInstruction(instruction); Driver.updateCpuMetric(metrics); }
public static void init(int numOfCPUs, Schedulingtype schedType, int sleep) { LongTermScheduler = new LongTermScheduler(); shortTermScheduler = new ShortTermScheduler(); schedulingType = schedType; CPUs = new CPU[numOfCPUs]; CpuMetrics = new CPUMetrics[numOfCPUs]; for (int i = 0; i < CPUs.Length; i++) { CPUs[i] = new CPU(1 + i); } for (int i = 0; i < CpuMetrics.Length; i++) { CpuMetrics[i] = new CPUMetrics(i + 1); } cpuFutures = new Task <int> [numOfCPUs]; jobsRan = new List <string>(); isOSComplete = false; commands = new String[31]; numberOfCPUs = numOfCPUs; sleepTimeMs = (long)sleep; completedJobs = 0; }
public static void updateCpuMetric(CPUMetrics metrics) { CpuMetrics[metrics.cpuNumber - 1].update(metrics); //update the metrics of the CPU }