示例#1
0
        public void PrioSchedule()
        {
            int totalJobs = 0;

            if (PCBManager.getCurrentPcbSortType() != PCBManager.PCB_SORT_TYPE.JOB_PRIORITY)
            {
                PCBManager.sortPcbList(PCBManager.PCB_SORT_TYPE.JOB_PRIORITY);
            }
            for (int i = 1; i < totalJobs + 1; i++)
            {
                readyQueue.Add(PCBManager.getPCB(i));
            }
            sortType = PCBManager.PCB_SORT_TYPE.JOB_PRIORITY;
        }
示例#2
0
        public void Schedule(SchedulingType type)
        {
            PCBManager.PCB_SORT_TYPE sort_type = PCBManager.PCB_SORT_TYPE.JOB_NUMBER;
            switch (type)
            {
            case 1:
                sort_type = PCBManager.PCB_SORT_TYPE.JOB_PRIORITY;
                break;

            case 2:


            case 3:
            }
        }
示例#3
0
        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);
        }
示例#4
0
        public void FIFOSChedule()
        {
            int totalJobs = PCBManager.getJobListSize();

            if (PCBManager.getCurrentPcbSortType() != PCBManager.PCB_SORT_TYPE.JOB_NUMBER)
            {
                ;
            }
            {
                PCBManager.sortPcbList(PCBManager.PCB_SORT_TYPE.JOB_NUMBER);
            }
            if (readyQueue.Count() == 0)
            {
                readyQueue.Clear();
            }
            for (int i = 1; i < totalJobs + 1; i++)
            {
                readyQueue.Add(PCBManager.getPCB(i));
            }
            sortType = PCBManager.PCB_SORT_TYPE.JOB_NUMBER;
        }