计算机操作系统调度策略(箅法)
扫描二维码
随时随地手机看文章
调度策略是依靠调度算法来实现的。调度算法有很多种,它们各有特点。这里只简要介绍如下几种。 (1)时闾片轮转法 这种方法要求系统中的每个进程轮流占用处理器运行一个相同的时间片。 具体做法是:将就绪的进程排列为一个就绪进程队列。调度器每次把处理器分配给处在队列首部的进程,并使之运行一个规定的时间。当时间片结束时,强迫当前进程让出处理器,并把这个进程插人就绪进程队列的尾部,然后就把处理器分配给排在队列首部的进程,并同样使之运行一个规定的时间,之后再重复上述过程,如此循环轮转地运行系统中的所有就绪进程。时间片轮转法的示意图如图1所示。
图1 具有8个进程的时闾片轮转调度示意图 时间片轮转法是一种运行时问一到就剥夺进程处理器使用权的剥夺式调度。 (2)优先级调度法 在这种调度算法中,是按进程的优先级别来确定待运行进程的,即系统中的所有进程都各自有一个优先级别,这个级别就标志着一个进程在抢占处理器时的权利大小。调度器在调度时,通过观察就绪进程的优先级别首先选择优先级别最大的进程来作为待运行进程。 一般来说,使用外围设各频繁的进程所具有的优先级别要大一些,这样有利于提高效率;承担重要计算任务的进程所具有的优先级别要大一些,这样有利于尽早得到计算结果;交互式用户的进程所具有的优先级别要大一些,这样可使用户等待响应的时间短一些,等等。 在调度时,也可对进程的优先级别进行动态的调整,即在当进程耗尽时间片或重新被调度时,根据前一次运行的情况再次计算并调整所有进程的优先级别。例如,若一个进程占用处理器时间越长,那么当它被阻塞之后再次获得调度的优先级别就应降低一些;也可根据一个进程等待处理器的时间长短来重新确定进程新的优先级别。一个进程在队列中等待处理器的时间越长,那么在它再次被调度时,它的优先级别就可以适当地提高一些。 (3)多级反馈队列调度法 这种调度算法的思想是,把系统中的所有进程分成若干个具有不同优先级别的组,同一组的进程都具有与所在组同样的优先级别,并且把每组进程组织成一个先进先出的队列。在设计时,按优先级别越高的组中的进程应得时间片越短的原则分配时间片。在调度时,调度器每次都从优先级别高的就绪队列中队首选择就绪进程。当在高优先级别的队列中找不到就绪进程时,才到低优先级别的就绪进程队列中选取。 多级反馈队列调度法示意图如图2所示。
图2 具有24个进程的多级反馈队列调度选中高级别进程时的示意图 调度工作以获得待运行进程的进程控制块为最终目的。调度器在调度部分根据调度算法、一旦得到了待运行进程的进程控制块之后,立即就会开始进行进程切换工作。之所以在进程切换前一定要获得待运行进程的进程控制块,是因为控制块中存放了进程切换时需要用到一个重要信息——进程的私有堆栈指针。
欢迎转载,信息来源维库电子市场网()