软考高级:嵌入式实时系统调度算法 AI 解读

在这里插入图片描述

========== 生活化例子 ==========

时间片轮转调度算法就像是大家排队玩游戏,每个人有固定的时间(比如每人玩5分钟),时间到了不管你是否完成,都要轮到下一个人。然后再轮到你时,你继续玩,直到所有人都玩过。

优先级调度算法像是有VIP通道的游乐园,优先级高的玩家(VIP)可以插队,普通玩家得排在后面。优先级高的人玩完了,才轮到优先级低的人。

抢占式优先级调度算法则更像是游乐园里有工作人员不断监控,看到VIP来了就会立刻让正在玩的普通玩家停止,让VIP先玩。普通玩家等VIP玩完后,再继续他们的游戏。

========== 概念讲解 ==========

1.	时间片轮转调度算法
•	原理:每个任务分配一个固定的时间片(例如 10 毫秒)。当一个任务的时间片用完后,如果它还没有完成,系统会切换到下一个任务。等所有任务都轮到一遍后,再回来继续执行没做完的任务。
•	特点:公平,但如果有很多任务在排队,切换任务的开销(上下文切换)会增加。适合处理优先级差不多的任务。
2.	优先级调度算法
•	原理:每个任务都有一个优先级,优先级高的任务会先被执行。系统不会在任务间切换,直到当前任务执行完毕。
•	特点:高优先级的任务得到更多的处理时间,但低优先级任务可能会被一直推迟,导致饥饿问题(某些任务可能永远得不到执行)。
3.	抢占式优先级调度算法
•	原理:和优先级调度算法类似,但不同的是,如果一个高优先级的任务在某个时刻出现,它会立即打断正在执行的低优先级任务,自己优先执行。
•	特点:响应更及时,适合处理一些紧急的、高优先级的任务,但同时也可能增加切换任务的开销,尤其是频繁出现高优先级任务时。

========== 简单记法 ==========

1.	时间片轮转:大家轮流,每人玩一会儿,时间到就换人,下一轮再继续。
2.	优先级调度:VIP优先,先执行优先级高的任务,低的等着。
3.	抢占式优先级调度:VIP插队,高优先级任务来了,马上打断低优先级的任务执行。

通过这些例子,你可以快速区分三种调度算法的差异了。