非抢占式调度算法:
当把处理机分配给某进程后,便让该进程一直执行,直到该进程完成或因某事件而被阻塞,才再把处理机分配给其它进程,决不允许某进程抢占已分配出去的处理机。
-> 实现简单,系统开销小,常用于批处理系统
->不利于处理紧急任务
->实时、分时系统不宜采用
抢占式调度算法:
允许调度程序根据某种原则(时间片、优先权、短进程优先),停止正在执行的进程,而将处理机重新分配给另一进程。
->有利于处理紧急任务
->实时与分时系统中常采用
1.面向用户的调度性能准则
周转时间:作业从提交到完成(得到结果)所经历的时间。包括:在收容队列中等待,CPU上执行,就绪队列和阻塞队列中等待,结果输出等待
--批处理系统
平均周转时间T:周转时间/进程数(除法运算)
响应时间:用户输入一个请求(如击键)到系统给出首次响应(如屏幕显示)的时间
--分时系统
截止时间:开始截止时间和完成截止时间
--实时系统,与周转时间有些相似
公平性:不因作业或进程本身的特性而使上述指标过分恶化。如长作业等待很长时间。
优先级:可以使关键任务达到更好的指标。
2.面向系统的调度性能准则
**系统吞吐量:**单位时间内所完成的作业数,跟作业本身特性和调度算法都有关系
--批处理系统
平均周转时间不是吞吐量的倒数,因为并发执行的作业在时间上可以重叠。
如:在2小时内完成4个作业,而每个周转时间是1小时,则吞吐量是2个作业/小时
处理机利用率高:--大中型主机
各类资源平衡利用:如CPU繁忙的作业和I/O繁忙(指次数多,每次时间短)的作业搭配--大中型主机