public Driver(int numOFCPUs, Schedulingtype schedulingType) { LongTermScheduler = new LongTermScheduler(); shortTermScheduler = new ShortTermScheduler(); CPUs = new CPU[numOFCPUs]; for (int i = 0; i < CPUs.Length; i++) { cpuFutures = new Task <int> [numOFCPUs]; jobsRan = new List <String>(); isOSComplete = false; commands = new string[31]; } }
public void Schedule(Schedulingtype type) { PCBManager.PCB_SORT_TYPE sort_type = PCBManager.PCB_SORT_TYPE.JOB_NUMBER; switch (type) { case Schedulingtype.PRIORITY: sort_type = PCBManager.PCB_SORT_TYPE.JOB_PRIORITY; break; case Schedulingtype.FIFO: sort_type = PCBManager.PCB_SORT_TYPE.JOB_NUMBER; break; case Schedulingtype.SJF: sort_type = PCBManager.PCB_SORT_TYPE.SHORTEST_JOB; break; } PCBManager.sortPcbList(sort_type, readyQueue); }
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; }
static SchedulingType fromValue(int value) { Schedulingtype schedule = Enum.GetValues(value); return null; }
public static void aim(Schedulingtype type) { shortTermScheduler.Schedule(type); }