一、处理机调度层次
1.高级调度(High Level Scheduling)
高级调度又称长程调度或作业调度,它的调度对象是作业。其主要功能是根据某种算法,决定将外存上处于后备队列中的哪几个作业调入内存,为它们创建进程、分配必要的资源,并将它们放入就绪队列。
主要用于多道批处理系统中,而在分时和实时系统中不设置高级调度。
2.低级调度(Low Level Scheduling)
低级调度又称为进程调度或短程调度,其所调度的对象是进程(或内核级线程)。其主要功能是,根据某种算法,决定就绪队列中的哪个进程应获得处理机,并由分派程序将处理机分配给被选中的进程。进程调度是最基本的一种调度,在多道批处理、分时和实时三种类型的OS中,都必须配置这级调度。
3.中级调度(Intermediate Scheduling)
引入中级调度的主要目的是为了提高内存利用率和系统吞吐量。
使那些暂时不能运行的进程不再占用宝贵的内存资源,而将它们调至外存上去等待,把此时的进程状态称为就绪驻外存状态或挂起状态。
当这些进程重又具备运行条件且内存又稍有空闲时,由中级调度来决定把外存上的那些又具备运行条件的就绪进程重新调入内存,并修改其状态为就绪状态,挂在就绪队列上等待进程调度。
二、处理机调度算法的目标
1.处理机调度算法的共同目标
(1)资源利用率
CPU的利用率=(CPU有效工作时间) / (CPU有效工作时间+CPU空闲等待时间)
(2)公平性
使诸进程都获得合理的CPU时间,不会发生进程饥饿现象。
(3)平衡性
尽可能保持系统资源使用的平衡性
(4)策略强制执行
2.批处理系统的目标
(1)平均周转时间短
周转时间,是指从作业被提交给系统开始,到作业完成为止的这段时间间隔(称为作业周转时间)。
它包括四部分时间
- ①作业在外存后备队列上等待(作业)调度的时间,
- ②进程在就绪队列上等待进程调度的时间,
- ③进程在CPU上执行的时间,以及
- ④进程等待I/O操作完成的时间
平均周转时间:
编辑
带权周转时间是作业的周转时间T与系统为它提供服务的时间Ts之比,即T/Ts。
平均带权周转时间:
编辑
对用户而言,总希望自己作业的周转时间尽可能的少;对系统而言,则希望作业的平均周转时间尽可能的少。每个系统在选择作业调度算法时,既应考虑用户的要求,又能确保系统具有较高的效率。
(2)系统吞吐量高
吞吐量是指在单位时间内系统所完成的作业数,因而它与批处理作业的平均长度具有密切关系。尽量多的选择短作业运行。
(3)处理机利用率高
对于大、中型多用户系统,由于CPU价格十分昂贵,致使处理机的利用率成为衡量系统性能的十分重要的指标。尽量选择计算量大的作业运行。
3.分时系统的目标
(1)响应时间快
所谓响应时间,是从用户通过键盘提交一个请求开始,直至系统首次产生响应为止的时间,或者说,直到屏幕上显示出结果为止的一段时间间隔。
它包括三部分时间:
- ①从键盘输入的请求信息传送到处理机的时间,
- ②处理机对请求信息进行处理的时间,以及
- ③将所形成的响应信息回送到终端显示器的时间。
(2)均衡性
是指系统响应时间的快慢应与用户所请求服务的复杂性相适应。
4.实时系统的目标
(1)截止时间的保证
所谓截止时间,是指某任务必须开始执行的最迟时间,或必须完成的最迟时间。对于严格的实时系统,其调度方式和调度算法必须能保证这一点,否则将可能造成难以预料的后果。
(2)可预测性
在实时系统中,可预测性显得非常重要。