现代操作系统-调度
在不同的系统中,调度程序的优化是不同的,分为三种环境:1.批处理,2.交互式,3.实时
批处理系统:用来处理存货清单、账目收入、账目支出等其他周期性作业,在批处理中,不会有用户不耐烦的在终端旁等待一个短请求的快捷响应。因此非抢占式算法可接受的,这种处理方式减少了进程的切换而改善了性能。
交互式:为了避免一个进程霸占CPU而拒绝为其他进程服务,抢占是必须的。
实时:抢占有时候是不需要的,因为进程了解它们可能会长时间得不到运行,所以通常会很快完成各自的工作并阻塞。
调度算法的目标:
所有系统:
公平-给每个进程公平的CPU份额
策略强制执行-保证规定的策略被执行
平衡-保持系统的所有部分都忙碌
批处理系统:
吞吐量-每小时最大作业数
周转时间-从提交到终止间的最小时间
CPU利用率-保持CPU忙碌
交互式系统:
响应时间-快速响应请求
均衡性-满足用户期望
实时系统:
满足截止时间-避免丢失数据
可预测性-在多媒体系统中避免品质降低
批操作系统中的调度:
1.先来先到服务,属于非抢占式算法,进程按照它们请求CPU的顺序使用CPU。
2.最短作业优先,只有在所有的作业都可运行的情况下,最短作业优先算法才是最优化的。
3.最短剩余时间优先,总是选择剩余运行时间最短的进程运行。这种可以使得短作业获得良好的服务。
交互式系统的调度:
1.时间片轮转调度,唯一要注意的就是时间片的长度,进程切换是需要时间的,因此时间片太短导致过多的进程切换,而时间片太长会导致对短的程序的响应时间变长,将时间片设置为20-50ms比较合理。
2.优先级调度
3.多级队列,设立优先级类,属于最高优先级类的进程运行一个时间片,然后次高的进程运行2个时间片,以此类推。
4.最短进程优先
5.彩票调度,一旦需要做出一项调度决策,随机抽出一张彩票,拥有该彩票的进程获得该资源。这能保证所有进程是平等的。
6.公平分享调度,每个用户获得一样的时间,而不是进程。
posted on 2018-04-06 23:22 sichenzhao 阅读(126) 评论(0) 编辑 收藏 举报