wdq92500 2016-03-01 06:22 采纳率: 0%
浏览 2691

应用优先队列实现作业的优先调度

  问题描述 
  优先队列priority queue是一种可以用于很多场合的数据结构,应用 堆结构设计并实现一个优先队列。应用该优先队列实现作业的优先调度:
        一个作业ti =(si,ei),si为作业的开始时间(进入时间),ei为 作业的结束时间(离开时间)。作业调度的基本任务是从当前在系统中的 作业中选取一个来执行,如果没有作业则执行nop操作。本题目要求的作 业调度是基于优先级的调度,每次选取优先级最高的作业来调度,优先级 用优先数(每个作业一个优先数pi)表征,优先数越小,优先级越高。作 业ti进入系统时,即si时刻,系统给该作业指定其初始优先数pi = ei - si, 从而使越短的作业优先级越高。该优先数在作业等待调度执行的过程中会 不断减小,调整公式为:pi = pi - wi,其中的wi为作业ti的等待时间: wi = 当前时间-si。一旦作业被调度,该作业就一直执行,不能被抢占, 只有当前执行作业指向完成时,才产生下一轮调度。所以可以在每次调度 前动态调整各作业的优先数。
        编程实现这样一个作业调度系统。
        基本要求
        (1)分别以堆、左高树实现优先队列。
        (2)作业集合中的各作业随机生成,根据作业的s属性和e属性动态调整 作业队列,不断加入作业,作业结束删除作业。
        (3)要对作业调度的结果给出清晰的输出信息,包括:何时作业进入,何 时调度哪个作业,何时离开,每个作业等待多长时间,优先数的动态变化 情况等。
  • 写回答

2条回答

  • weixin_51464121 2022-01-08 20:22
    关注

    请问题主找到答案了吗,如果找到可以发我一份吗

    评论

报告相同问题?

悬赏问题

  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试