处理机调度的层次:
(1)高级调度(长程调度,作业调度):
【操作系统】处理机调度:作业与作业调度_暮色_年华的博客-CSDN博客
调度对象是作业。
将外存上处于后备队列中的哪几个作业调入内存,为它们创建进程,分配资源,放入就绪队列。
高级调度主要用在多道批处理系统中。
分时和实时系统中不设置高级调度。
(2)低级调度(进程调度,短程调度):
调度对象是进程。
决定就绪队列中的哪个进程获得处理机,并由分派程序将处理机分配给选中的进程。
进程调度是最基本的一种调度,在多道批处理、分时和实时的OS中,必须配置这种调度。
(3)中级调度(内存调度,中程调度):
目的:提高内存利用率和系统吞吐量
把暂时不能运行的进程,调至外存等待,此时进程的状态为挂起状态。
当它们已具备运行条件且内存又稍有空闲时,由中级调度来决定,把外存上的那些已具备运行条件的就绪进程再重新调度内存,并修改其状态为就绪状态,挂载就绪队列上等待。
中级调度实际上就是存储器管理中的对换功能。
处理机调度算法的目标:
处理机调度算法的共同目标:
(1)资源利用率:使处理机和其他资源保持忙碌状态。
处理机利用率:
CPU有效工作时间/(CPU有效工作时间+CPU空闲等待时间)
(2)公平性:使进程都获得合理的CPU时间,不会发生进程饥饿现象。
饥饿:
进程进行资源竞争时,一直得不到其想要的资源,因而得不到服务。
(3)平衡性:进程有计算型进程,有IO型进程。调度算法应使系统中的CPU和各种外部设备都能经常处于忙碌状态。
(4)策略强制执行:对制定的策略,只要需要,就要强制执行。
批处理系统的目标(作业调度):
(1)平均周转时间短:
周转时间:作业提交给系统开始,到作业完成为止的时间间隔
包括:作业在外存后备队列上等待调度的时间,进程在就绪队列上等待进程调度的时间,进程在CPU上执行的时间,进程等待I/O操作完成的时间。
平均周转时间:
带权周转时间:W = T/Ts
T:作业的周转时间
Ts:系统为它提供服务的时间
平均带权周转时间:
(2)系统吞吐量高:
吞吐量:单位时间内系统完成的作业数。与作业的平均长度有关。
如果单纯为了获得高的系统吞吐量,就应当多地选择短作业运行。
使用短作业优先调度
(3)处理机利用率高:
如果单纯使处理机利用率高,应尽可能选择计算量大的作业运行。
使用FCFS调度
以上目标存在矛盾。
分时系统的目标:
(1)响应时间快:
响应时间:通过键盘提交一个请求开始,直到屏幕上显示处理结果为止的一段时间间隔。
(2)均衡性:系统响应时间与用户请求适应。
实时系统的目标:
(1)截止时间的保证:
截止时间:某任务必须开始执行的最迟时间,或者完成的最迟时间。
(2)可预测性