예제 #1
0
    void ThreRR()
    {
        ProcessCompare compare = new ProcessCompare();
        List <Process> li      = new List <Process>(creationController.GetItens().ToArray());

        li.Sort(compare);
        rr = RR.Schedulering(li, (int)quantumScale.Value, progressRR);

        waitTimeRR      = Benchmark.WaitTime(rr, li.Count);
        turnarondTimeRR = Benchmark.TurnarondTime(rr, li);
        responseTimeRR  = Benchmark.ResponseTime(rr, li);

        Application.Invoke((sender, e) => OnSelectScheduler(SchedulerCombobox, e));
    }
예제 #2
0
    void ThreFCFS()
    {
        ProcessCompare compare = new ProcessCompare();
        List <Process> li      = new List <Process>(creationController.GetItens().ToArray());

        li.Sort(compare);
        fcfs = FCFS.Schedulering(li, progressFCFS);

        waitTimeFCFS      = Benchmark.WaitTime(fcfs, li.Count);
        turnarondTimeFCFS = Benchmark.TurnarondTime(fcfs, li);
        responseTimeFCFS  = Benchmark.ResponseTime(fcfs, li);

        Application.Invoke((sender, e) => OnSelectScheduler(SchedulerCombobox, e));
    }
예제 #3
0
    protected List <PlotableProcess> GetProcessFromCreation()
    {
        List <PlotableProcess>    plotables    = new List <PlotableProcess>();
        List <EscalonableProcess> escalonables = new List <EscalonableProcess>();

        ProcessCompare compare = new ProcessCompare();

        List <Process> li = new List <Process>(creationController.GetItens().ToArray());

        li.Sort(compare);

        foreach (Process process in li)
        {
            EscalonableProcess eProcess = new EscalonableProcess(process);
            plotables.Add(new PlotableProcess(eProcess, 0));
        }

        return(plotables);
    }