2012年2月7日星期二

什么是处理机调度


什么是处理机调度 
 -- 处理机调度的联想
# 故事
刚好这些日子,翻翻书本复习,看到“处理机调度”(操作系统原理知识),顺之即联想到了与工作相关的某某(工作相关)调度算法。看完书本知识,骤然心中兴致来潮,便考虑到博文一篇吧,记载一些感想,且不论质量好坏。Try to do it !

缘于工作项目需求,有时会苦恼于程序设计的各种调度算法。当你想尽办法尝试去改进,优化当前程序的算法时候,倘若原先程序的算法结构好,那么你的点子会很快融入其中,可以很快开展后续改进工作。

……说到这里,庆幸于自己一直负责的调度模块,其设计的算法结构还算比较稳固的,所以这样为后续针对该算法的改进与优化提升了很大的空间。从中可以体会到一点,良好的算法结构,最初的设计应该是从简单出发,结构清晰,最好让人一接触很快就能明白了,建议最初的设计不要用什么技巧的东西。简要描述其算法结构,如下:

分时均衡调度 + 先来先服务调度 = 总体调度结构
分时均衡,可以由相同的定时器触发调度完成,这样可以保证每个任务都可以分配到最基本的调度资源。当然,这里需要调整好定时间隔,保证存有空余的调度资源提供给更需要调度的对象。
先来先服务,这样让更有需要调度的对象根据自己的情况申请,一般越需要调度的对象请求会越频繁。

尽量让基础的算法结构简单,复杂的部分留给业务逻辑,因为业务逻辑总会牵涉各种细枝末节的。很多时候,最后系统的复杂度来自于业务逻辑的堆积。

# 处理机调度
所以,针对“处理机调度”内容的温习与整理,如下:
> 调度因素


衡量调度策略的指标有很多。最常用的几个指标是:周转时间、吞吐率、响应时间以及设备利用率。
     周转时间是指将一个作业提交给计算机系统后到该作业的结果返回给用户所需要的时间。
     吞吐率是指在给定的时间内,一个计算机系统所完成的总工作量。
     响应时间则是指从用户向计算机发出一个命令到计算机把相应的执行结果返回给用户所需要的时间。
     设备利用率主要指输入输出设备的使用情况。

> 作业调度
1.先来先服务
2.计算时间短的作业优先算法
3.响应比高者优先算法
   响应比=等待时间/计算时间+1
4.优先级调度算法
5.均衡调度算法
作业调度轮流从不同类的作业中去挑选作业,尽可能地使得使用不同资源的作业同时执行。


# 附图

图1.处理机分时调度(转)

图2.分时调度的任务切换状态(转)

没有评论:

发表评论