现代操作系统-调度

在不同的系统中,调度程序的优化是不同的,分为三种环境: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编辑  收藏  举报

导航