コード例 #1
0
 public void update(CPUMetrics metrics)
 {
     setCurrentJobNumber(metrics.currentJobNumber);
     setProgramCounter(metrics.programCounter);
     setTotalInstructionsNumber(metrics.totalInstructionsNumber);
     setCurrentState(metrics.currentState);
     setCurrentInstruction(metrics.currentInstruction);
 }
コード例 #2
0
ファイル: CPU.cs プロジェクト: lrodri20/OS-Simulator
 /**
  * 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);
 }
コード例 #3
0
 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;
 }
コード例 #4
0
 public static void updateCpuMetric(CPUMetrics metrics)
 {
     CpuMetrics[metrics.cpuNumber - 1].update(metrics);
     //update the metrics of the CPU
 }