lab6处理机调度原理

本文详细介绍了处理机调度的概念,包括调度时机和调度策略。讨论了先来先服务、短进程优先、最高响应比优先、时间片轮转和多级反馈队列等算法,并分析了它们的优缺点。此外,还涉及实时系统调度、多处理机调度中的问题及解决方案,如优先级反置和相应的解决策略。文章强调了调度算法在平衡各种性能指标中的重要性,如CPU使用率、周转时间和响应时间。
摘要由CSDN通过智能技术生成

处理机调度概念:

进程切换就是CPU资源当前占用者的切换,通过进程切换实现CPU的时分复用。进程切换时需要保存当前进程在PCB中的执行上下文,同时恢复下一个进程的执行上下文。而处理机调度就是要实现从进程就绪队列中挑选下一个占用CPU运行的进程;如果存在多个可用CPU,还要从中挑选就绪进程可用的CPU资源。因此其中要关注两个内容:调度策略与调度时机。

调度时机:

有进程从运行状态切换到等待状态(非抢占);有进程退出(非抢占);正在运行的进程时间片用完(抢占);进程由等待转换到就绪(抢占)。

调度策略:

进程一般是在CPU计算与I/O操作间交替执行。调度策略需要选取合适的时间片大小,由于进程使用CPU进行计算的单次时间往往是较短的,时间片的选择应尽量不要打断单次计算。对调度算法优劣判断的准则:1、CPU使用率,使用率应该尽量高;2、吞吐量,单位时间内完成的进程数量;3、周转时间,进程从初始化到结束/等待的总时间,这是用户关心的;4、进程在仅需队列的总时间,应该尽量降低;5、响应时间,从提交请求到产生响应的时间应该尽量短。
上述目标有些是相互制约的,因此一个合理的调度算法应该统筹兼顾。下面对具体的调度算法进行介绍。
1.先来先服务
优点:简单
缺点:平均等待时间波动较大,与进入就绪队列的进程序列相关
2.短进程优先算法,按照进程需要的执行时间选择,按进程所需的执行时间由短到长排序,新加入就绪队列的进程执行时间如果比当前正在执行的进程时间短,则kill掉当前执行的进程,转而执行新加入就绪队列的进程。
优点:周转时间是最短的
缺点:连续的短进程会使长进程无法获得CPU资源,导致进程饥饿
3.最高响应比优先算法,按照就绪队列内进程的响应比由高到低排序
在这里插入图片描述
w是该进程等待的时间,s是该进程预估执行时间
优点:避免了短进程优先算法中的饥饿现象,等待时间长的会相应排到前面。
不允许抢占,关注进程的等待时间,防止无限期的等待,等的时间越长优先级就会越高
4.时间片轮转算法,时间片结束后,按照先来先服务,但每个进程执行时间不超过时间片长度,超出会被抢占(靠时钟中断强行把正在执行的进程结束,所以有额外的上下文切换开销)。经验规则是维持上下文切换开销处于1%以内,大小通常在10ms左右。
5.多级反馈队列算法,维护多个就绪进程队列(比如前台一个就绪队列,后台一个就绪队列),对不同队列可以使用不同调度策略,进程可在不同队列间移动
在这里插入图片描述
在这里插入图片描述
6.公平共享调度算法,按照进程占用资源情况选择
在这里插入图片描述

实时系统调度

有两种调度策略,一是静态调度策略,一个是动态调度策略。静态调度策略是指按照进程执行时间长短进行调度,执行时间短的先执行。动态调度策略是按照进程截止时间进行调度,截止时间越早的先执行。动态调度与静态调度都有一个问题就是,什么样的情况下,有多少个任务时,调度算法是可调度的。

多处理机调度

指由多个处理机组成一个多处理机系统,处理机之间可以实现负载共享。**其中每个处理器有自己的调度程序,调度程序对共享资源的访问需要进行同步。**多处理机调度策略中最重要的一点是一个进程应该分配给哪一个处理机。静态进程分配是进程从开始到结束都分配到一个固定的处理机上执行,之后就是在每个处理机上的单处理机调度算法,但这会导致处理机利用率不均。动态进程分配则是一个进程可以分配到任意空闲处理机执行,所有处理机共享一个就绪队列,调度开销较大,但负载均衡。

优先级反置

优先级反置是指高优先级进程要请求的资源被低优先级进程占用而被阻塞,此时中优先级进程反而抢占了CPU导致高优先级进程始终无法运行。
在这里插入图片描述
针对这一现象有两种解决方案:一是优先级继承,导致高优先级进程阻塞的低优先级进程会暂时继承高优先级进程的优先级,避免被中优先级进程抢占;二是优先级天花板协议,占有资源的进程和所有可能申请该资源的进程的优先级比较,设置成其中最高优先级对应的优先级,这样就不会有进程阻止他使用这个资源,可能会出现优先级滥用的情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值