对于批处理操作系统和分时操作系统的计算机系统都属于多道程序设计系统。在这种系统中,往往同一时候有多个计算问题请求处理。它们都因要使用系统资源而会发生竞争。
问题:怎样对资源进行管理和分配是操作系统中的一个重要问题。
解决:处理器调度担负着对处理器的分配工作,它将决定谁能先占用处理器以及一次能占用处理器多长时间。
在批处理操作系统中,作业调度与进程调度的层次关系如图:
在操作系统中,把磁盘上用来存放作业信息的专用区域称为输入井。把在输入井中等待处理的作业称为后备作业
作业调度
从输入井中选取后备作业装入主存储器的工作称为作业调度。
原则
1,公平性:对用户公平。不能无故或无限制地迟延一个作业的运行
2,平衡资源使用:尽可能地使系统资源都处于忙碌
3。极大流量:在单位时间内为尽可能多的作业服务
经常使用算法
必要条件:系统现有的尚未分配的资源能够满足被选作业的资源要求
1,先来先服务:作业进入输入井的先后次序来挑选作业
2。计算时间短优先:要求用户对自己的作业须要计算的时间预先作一个预计。
3,响应比高者优先:响应比=等待时间/计算时间。
注:进行作业调度的时间是在作业所有到达输入井之后開始。
4,优先级:优先级高的作业优先被选取
5。均衡调度算法:依据作业对资源的要求进行分类,尽可能使得使用不同资源的作业同一时候运行
进程调度
作业调度选中一个作业且把它装入主存储器时,就为该作业创建一个用户进程。若有多个作业被装入主存储器。则就创建了多个用户进程。
这些进程的都为初始状态“就绪态”。
在单处理器的计算机系统中。每一时刻仅仅能让一个进程占用处理器。但假设有多个进程都要竞争处理器,就必须依照一定的规则从就绪进程中选取一个进程,让它占用处理器。这项从就绪进程中选取一个进程,让它占用处理器的工作称为进程调度。
切换
一个进程让出处理器由还有一个进程占用处理器的过程。
进程的切换是由进程的状态变化引起的。
经常使用算法
1。先来先服务
2,最高优先级
3。时间片轮转
时间片是指同意进程一次占用处理器的最长时间。
总结:
作业从进入系统到最后完毕,要经历两级调度:作业调度和进程调度。作业调度是高级调度,它的主要功能是依据一定的算法,从输入井中选中若干个作业,分配必要的资源,如主存、外设等,为它们建立初始状态为就绪的作业进程。进程调度是低级调度。它的主要功能是依据一定的算法将CPU分派给就绪队列中的一个进程。
与生活联系:
邮局的样例,我们将写好的信封放入信箱,等待邮局的人来取。这个过程是作业调度(每家都有一个信箱,邮局的人取哪些信箱的信)。对于在邮局的信,什么时候送出,送出哪些这个过程为进程调度。
事实上这个过程和我们计算机中的分层思想如出一辙,每层负责各自的功能,使复杂的问题简单化!