CPU调度(三)

其他的一些概念。

实时调度

调度很及时(毫秒级别的),不能耽误进程的运转,进程从CPU cycle到IO cycle到CPU cycle这样循环,当需要某一个cycle时候调度程序要能即使做出响应,做完工作。

  • 硬实时调度
    Deadline是明确的,在某个时间之前,这个进程必须执行完毕。能够确保一个关键任务在给定的时间点前完成;
  • 软实时计算
    不能保证每个进程有个严格的ddl,但是调度机制尽量给予关键任务最高优先级,尽量在预定时间点前完成任务。

调度算法评估

一个算法要追求指标最优化,什么叫指标完成的好?怎么去衡量这个指标?毫无疑问可以设计好系统之后,直接现实场景去测试就好了。也就是编程实现算法,观察其执行情况。但是这样的时间周期太长,时效性很差。因此有下面的方案去评估:

  • 确定模型法(Deterministic modeling)
    采用实现设定的特定负荷,计算在给定负荷下的每个算法的性能,但这种问题也很明显,往往设定的测试负荷和实际情况差距较大,演示一下倒也还行。
  • 排队模型(Queueing models)
    先建立一个模型,用这个模型去测试,但是对模型的要求很高,如果模型有较大偏差就没有意义。
  • 仿真
    测试的数据来自于实际情况,测试的算法放在假的系统里面。真实数据在假的平台上测试。

你可能感兴趣的:(CPU调度(三))