Пример #1
0
    def scheduling(cls, pi, t, ti):  # 任务pi,到达时间t,系统时间ti
        """调度单个任务"""
        # 获取任务所需的系统资源
        Algorithm.get_pi_resource(pi)

        if Algorithm.judge(t, ti):
            Resource.allocate_res(Algorithm.ri1, Algorithm.ri2,
                                  Algorithm.ri3)  # 分配系统资源给任务pi

            i = Task.find_pi(Task.waiting_queues, pi)[1]
            print("Scheduling task: ", Task.waiting_queues[i])
            Task.add_running_pi(pi, ti)  # 将任务pi加入到运行队列

            Task.slow_down.append(Task.waiting_queues[i][7])  # 将减慢比加入列表
            average_slow_down = round(
                sum(Task.slow_down) / len(Task.slow_down), 2)  # 计算平均减慢比
            Task.average_slow_down.append(average_slow_down)  # 加入列表

            Task.del_waiting_pi(pi)  # 将任务pi从等待队列中剔除
Пример #2
0
    def scheduling(cls, pi, t, ti):  # 任务pi,到达时间t,系统时间ti
        """调度单个任务"""
        # 获取任务所需的系统资源
        Algorithm.get_pi_resource(pi)

        # 计算每个任务的响应比
        # Algorithm.response_ratio(pi, t, ti)

        if Algorithm.judge(t, ti):
            # 分配系统资源给任务pi
            Resource.allocate_res(Algorithm.ri1, Algorithm.ri2, Algorithm.ri3)

            # 将任务pi加入到运行队列
            i = Task.find_pi(Task.waiting_queues, pi)[1]
            print("Scheduling task: ", Task.waiting_queues[i])
            Task.add_running_pi(pi, ti)

            # 将任务pi从等待队列中剔除
            Task.del_waiting_pi(pi)