调度算法的评价指标
- cpu利用率
cpu利用率=cpu有效工作时间 / (cpu有效工作时间+cpu空闲时间)
- 系统吞吐量:单位时间内完成作业的数量
系统吞吐量=总共完成作业数 / 总共耗费时间
- 周转时间:从作业被提交到作业完成为止的时间间隔
周转时间 = 作业完成时间 - 作业提交时间
- 带权周转时间
带权周转时间 = 周转时间 / 作业实际运行时间
- 平均周转时间
平均周转时间 = 各作业周转时间之和 / 作业数
- 平均带权周转时间
平均带权周转时间 = 各作业带权周转时间之和 / 作业数
- 等待时间:进程或者作业处于等待处理机状态时间之和
- 只涉及计算,不涉及I/O操作:
等待时间 = 周转时间 - 运行时间- 若涉及I/O操作,则:
等待时间 = 周转时间 - 运行时间 - I/O操作时间
- 响应时间:提出请求到首次收到回复的时间
补充
进程调度方式:
1.非剥夺调度方式也称为非抢占方式:只允许进程主动放弃处理机
2.剥夺调度方式也称为抢占方式:进程状态可以被动进入阻塞态
调度算法
一、不适合用于交互式系统
1.先来先服务(FCFS调度算法)
- 算法:按照进程或者作业到达的先后顺序
- 特征:非抢占式算法;适用于作业调度,也适用于进程调度
- 优点:公平、算法实现简单
- 缺点:排在长作业后面的短作业需要等待很长时间,带权周 转时间大,对短作业来说用户体验不好。即FCFS算法对长作业有利,对短作业不利
例题:用先来先服务调度算法求下表中各个进程的周转时间、带权周转时间、等待时间、平均周转时间、平均带权周转时间、平均等待时间
调度顺序:P1->P2->P3->P4(按照到达的先后顺序)
- 周转时间:
(1) P1 = 7-0 = 7 (2) P2 = 11-2 = 9
(3) P3 = 12-4 = 8 (4) P4 = 16-5 = 11 - 带权周转时间:
(1) P1= 7/7 = 1 (2) P2 = 9/4 = 2.25
(3) P3 = 8/1 = 8 (4) P4 = 11/4 = 2.75 - 等待时间:
(1) P1= 7-7 = 0 (2) P2 = 9-4 = 5
(3) P3 = 8