移动网站开发 王府井,网站已在别处备案怎么转入阿里云,龙岩网站设计招聘网,梅州建设项目1.时间片轮转调度算法(RR)
round Robin
1.算法思想
公平地、轮流地为各个进程服务#xff0c;让每个进程在一定时间间隔内都可以得到响应。
2.算法规则
按照各进程到达就绪队列的顺序#xff0c;轮流让各个进程执行一个时间片#xff08;如100ms#xff09;。 若进程未…1.时间片轮转调度算法(RR)
round Robin
1.算法思想
公平地、轮流地为各个进程服务让每个进程在一定时间间隔内都可以得到响应。
2.算法规则
按照各进程到达就绪队列的顺序轮流让各个进程执行一个时间片如100ms。 若进程未在一个时间片内执行完则剥夺处理机将进程重新放到就绪队列队尾重新排队。
3.用于作业/进程调度
用于进程调度 只有作业放入内存建立了相应的进程后才能被分配处理机时间片)
4.是否可抢占
若进程未能在时间片内运行完将被强行剥夺处理机使用权因此时间片轮转调度算法属于抢占式的算法。 由时钟装置发出时钟中断来通知CPU时间片已到
5.优缺点
优点:公平;响应快适用于分时操作系统;缺点:由于高频率的进程切换因此有一定开销;不区分任务的紧急程度。
6.是否会导致饥饿
不会
7.例题
各进程到达就绪队列的时间、需要的运行时间如下表所示。 使用时间片轮转调度算法分析时间片大小分别是2、5时的进程运行情况。 时间片轮转调度算法: 轮流让就绪队列中的进程依次执行一个时间片每次选择的都是排在就绪队列队头的进程)
1.时间片大小为2的情况 注:以下括号内表示当前时刻就绪队列中的进程、进程的剩余运行时间) 2.时间片大小为5的情况
如果时间片太大使得每个进程都可以在一个时间片内就完成则时间片轮转调度算法退化为先来先服务调度算法并且会增大进程响应时间。 因此时间片不能太大。另一方面进程调度、切换是有时间代价的保存、恢复运行环境)因此如果时间片太小会导致进程切换过于频繁系统会花大量的时间来处理进程切换从而导致实际用于进程执行的时间比例减少。可见时间片也不能太小。
一般来说设计时间片时要让切换进程的开销占比不超过1%。
2.优先级调度算法
1.算法思想
随着计算机的发展特别是实时操作系统的出现越来越多的应用场景需要根据任务的紧急程度来决定处理顺序。
2.算法规则
每个作业/进程有各自的优先级调度时选择优先级最高的作业/进程。
3.用于作业/进程调度
既可用于作业调度也可用于进程调度。 甚至还会用于在之后会学习的I/O调度中
4.是否可抢占
抢占式、非抢占式都有。 做题时的区别在于: 非抢占式只需在进程主动放弃处理机时进行调度即可, 而抢占式还需在就绪队列变化时检查是否会发生抢占。
5.优缺点
优点:用优先级区分紧急程度、重要程度适用于实时操作系统。可灵活地调整对各种作业/进程的偏好程度。缺点:若源源不断地有高优先级进程到来则可能导致饥饿
6.是否会导致饥饿
会
7.例题
1.题1各进程到达就绪队列的时间、需要的运行时间、进程优先数如下表所示。 使用非抢占式的优先级调度算法分析进程运行情况。注:优先数越大优先级越高) 非抢占式的优先级调度算法: 每次调度时选择当前已到达且优先级最高的进程。 当前进程主动放弃处理机时发生调度。 2.题2各进程到达就绪队列的时间、需要的运行时间、进程优先数如下表所示。 使用抢占式的优先级调度算法分析进程运行情况。注:优先数越大优先级越高
抢占式的优先级调度算法: 每次调度时选择当前已到达且优先级最高的进程。 当前进程主动放弃处理机时发生调度。 另外当就绪队列发生改变时也需要检查是会发生抢占。 就绪队列未必只有一个可以按照不同优先级来组织。另外也可以把优先级高的进程排在更靠近队头的位置.根据优先级是否可以动态改变可将优先级分为静态优先级和动态优先级两种。静态优先级:创建进程时确定之后一直不变。动态优先级:创建进程时有一个初始值之后会根据情况动态地调整优先级。
8.如何合理设置各类进程的优先级
系统进程优先级高于用户进程前台进程优先级高于后台进程操作系统更偏好l/O型进程或称I/O繁忙型进程)与l/O型进程相对的是计算型进程或称CPU繁忙型进程)
I/O设备和CPU可以并行工作。 如果优先让I/O繁忙型进程优先运行的话则越有可能让I/O设备尽早地投入工作则资源利用率、系统吞吐量都会得到提升.
9.如果采用动态优先级什么时候应该调整
可以从追求公平、提升资源利用率等角度考虑如果某进程在就绪队列中等待了很长时间则可以适当提升其优先级如果某进程占用处理机运行了很长时间则可适当降低其优先级如果发现一个进程频繁地进行l/O操作则可适当提升其优先级
3.多级反馈队列调度算法
1.算法思想
对其他调度算法的折中权衡。
2.算法规则
设置多级就绪队列各级队列优先级从高到低时间片从小到大新进程到达时先进入第1级队列按FCFS原则排队等待被分配时间片若用完时间片进程还未结束则进程进入下一级队列队尾。如果此时已经是在最下级的队列则重新放回该队列队尾。只有第k级队列为空时才会为k1级队头的进程分配时间片被抢占处理机的进程重新放回原队列队尾
3.用于作业/进程调度
用于进程调度
4.是否可抢占
抢占式的算法。 在 k 级队列的进程运行过程中 若更上级的队列(1~k-1级中进入了一个新进程 则由于新进程处于优先级更高的队列中 因此新进程会抢占处理机原来运行的进程放回k级队列队尾。
5.优缺点
对各类型进程相对公平(FCFS的优点﹔ 每个新到达的进程都可以很快就得到响应RR的优点﹔ 短进程只用较少的时间就可完成(SPF的优点; 不必实现估计进程的运行时间避免用尸作假; 可灵活地调整对各类进程的偏好程度比如CPU密集型进程、I/O密集型进程 拓展:可以将因I/O而阻塞的进程重新放回原队列这样I/O型进程就可以保持较高优先级)
6.是否会导致饥饿
会
7.例题
各进程到达就绪队列的时间、需要的运行时间如下表所示。 使用多级反馈队列调度算法分析进程运行的过程。 根据算法规则 注: 比起早期的批处理操作系统来说由于计算机造价大幅降低 因此之后出现的交互式操作系统包括分时操作系统、实时操作系统等更注重系统的响应时间、公平性、平衡性等指标。 而这几种算法恰好也能较好地满足交互式系统的需求。 因此这三种算法适合用于交互式系统。 (比如UNIX使用的就是多级反馈队列调度算法
4.多级队列调度算法
系统中按进程类型设置多个队列进程创建成功后插入某个队列。
1.队列之间可采取固定优先级或时间片划分
固定优先级:高优先级空时低优先级进程才能被调度时间片划分:如三个队列分配时间50%、40%、10%
2.各队列可采用不同的调度策略
如:
系统进程队列采用优先级调度交互式队列采用RR批处理队列采用FCFS