SMP硬实时调度算法

本文探讨了SMP(对称多核)操作系统中的硬实时调度算法,以开源操作系统SylixOS为例。内容涉及优先级卷绕的概念、SMP调度通知机制,以及如何处理可能的并发通知问题。文章指出,调度算法在各操作系统中大致相同,但在细节上有差异。通过图示和问答形式解释了SMP调度的关键点和解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文章实例来源于开源操作系统SylixOS。


优先级位图仅仅是一个时间无关的就绪任务检出算法,真正要实现SMP还需要做很多工作。

天下操作系统的调度算法都是人类智慧的结晶,相差无几,无非是细节有一些区别,μCOS太简单,因此来分析下稍微复杂一点的国产操作硬实时系统SylixOS的调度实现。

有图有真相:



绿色的是废话,重要事情。

何谓优先级卷绕:我这里有可能产生了新的就绪任务,CPU大佬们(多核)请看看这旮瘩是不是需要调度

CPU核心(一个CPU有多个CORE,我们这里讨论SMP(你竟然不知道SMP?!好吧,理解为对称多核即可,如果你还不明白我就举个反例,好多手机自诩8核,实际上是4主核,4辅核,辅助核心嘛,肯定能力不如主力核心,这就是不对称多核,再不明白请自行买块豆腐撞死))结构体中有正在执行任务结构体指针和即将执行任务指针也叫候选任务指针。

为了支持SMP所以就绪表有N+1个,N个数等于CPU核心个数代表N个本地就绪表(你完全可以叫CPU核心本地唯一不可或缺超级优先级排队就绪表,这真的是废话),这个额外的+1是全局就绪表。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值