本文主要内容:
1.处理机调度大概总结;
2.进程七状态模型
3.进程调度算法

进程调度是处理机调度的最基本调度。
我们先了解一下处理机调度。

处理机调度

  • 处理机调度定义:当有一堆作业需要处理时,但资源有限,需要凭借某种规则来调度这些任务的先后顺序。
  • 处理机调度的三个层次

高级调度:将作业从外存调入内存,分配系统资源,建立pcb

中级调度:在引入虚拟存储技术之后,可以将暂时不能运行的进程调至外存等待;这里进程被调至外存的状态叫做挂起状态,需要注意的是进程控制块pcb并不会调出外存,而是将其放到挂起队列中

低级调度:将进程分配处理机资源,我们重要讲解的就是低级调度。其概念就是从就绪队列中依据某种策略选出一个进程,赋予处理机资源。

了解了处理机的三种调度,我们需要掌握进程的七状态模型;

进程的七状态模型

进程调度总结这里注意挂起和阻塞的区别:
挂起是将进程映像从内存中调入外存,但是pcb会常驻内存(加入到挂起队列中),pcb会记录挂起进程的外存位置。
而处于阻塞态的进程映像还在内存中;

进程调度的算法

先来先服务(FCFS):

  • 按照进程到达的先后顺序进行调度(等待时间越长的越先得到调度)
  • 进程调度总结
    优点:非抢占式的算法,公平,算法简单易实现,不会导致饥饿;
    缺点:对短作业进程不利,对长作业有利;

短作业优先:(SJF)
非抢占式的短作业优先:每次选择运行时间最短的进程进行调度;
进程调度总结

抢占式的短作业优先算法:调度运行时间最短的进程,如果新到达的进程运
行时间小于此时在处理机上运行的进程,则新进程抢占处理机,以此类推。
进程调度总结
优点:平均等待时间会变小
缺点: 不公平,对短作业有利,对长作业不利;可能会导致饥饿,甚至饿死

高响应比优先:每次调度前选择相应比最高的上处理机;
相应比=(进程等待时间+要求服务时间)/要求服务时间
进程调度总结优缺点:综合考虑了运行时间和等待时间;对于长作业来说,随着等待时间越久,其相应比也会增加,避免饥饿现象。

时间片轮转调度算法:轮流让就绪队列中的进程依次执行一个时间片;
进程调度总结优点:响应快,公平,适用于分时操作系统
缺点:由于高频度的切换进程,造成开销;不能区别紧急任务;
注意:时间片不能太大,如果太大会退化成先来先服务;

优先级调度算法:调度当前优先级最高的进程。(非抢占式)
调度当前就绪队列中优先级最高的进程。(抢占式)
(这里的优先数越小,优先级越高。)
进程调度总结进程调度总结优点:用优先级可以区别任务的紧急,适用于实时操作系统
缺点:若有源源不断的优先级高的进程,会导致饥饿;

多级反馈队列调度算法设置多级就绪队列,各级优先级从高到低,时间片从小到大。新进程进入第一级队列,按照先来先服务的调度算法等待调度,若用完时间片还未结束,则进程进入下一级队列。(若此时已经在最后一级队列,则重新加入到最后一级的队列中)。
只有当前队列所有进程执行完,方可执行下一级队列。

进程调度总结以p1进程为例,首先p1先进入第一级队列,执行1个时间片之后加入第二级队列;之后依次执行p2,p3,p4。第一级队列执行完后,执行第二级队列,依次执行相应的时间片,此处不再赘述。

对于多级反馈队列调度算法,优点很明显,首先它相对公平,采用先来先服务的原则;短作业也可以快速完成(因为多级队列的时间片是依次递增的);也可以灵活调整对进程的偏好程度,可以将偏好进程继续放入原队列,优先执行。

相关文章:

  • 2021-05-05
  • 2022-03-03
  • 2021-09-25
  • 2021-08-27
  • 2021-08-03
  • 2022-12-23
  • 2021-06-13
猜你喜欢
  • 2022-02-21
  • 2022-12-23
  • 2021-05-29
  • 2021-11-30
  • 2021-12-19
  • 2021-07-31
相关资源
相似解决方案