搜索
bottom↓
回复: 0

相比较合作式调度器, 什么场合下应该使用混合调度器?

[复制链接]

出0入0汤圆

发表于 2017-7-14 15:06:58 | 显示全部楼层 |阅读模式
本帖最后由 擦鞋匠 于 2017-7-14 15:13 编辑

最近在看傻孩子老师推荐的<<时间触发嵌入式系统模式>>, 虽然书已经很老了, 但的确能从中学到一些知识, 在此感谢傻孩子老师...

有2个地方我没看懂...相比较合作式调度器, 什么情况下应该使用混合式调度器?

现在考虑一种典型情况, 总共3个任务. 假设时标间隔是1ms.

A任务(运行时间=100ms)

B任务(运行时间<1ms)

C任务(运行时间<1ms)

解决方案1: 从硬件触发, 使用更快的处理器, 或者使用多个处理器, 这个不讨论...

解决方案2: 使用合作式任务调度器:

1>按照任务功能将A任务拆分为多个短任务

2>按照任务状态将A任务拆分为多个短任务.

总之任务A必须被拆分为多个运行时间小于时标间隔的短任务, 否则任务运行会产生抖动!!!

解决方案2: 使用混合式调度器:

问题1: 如下图: 长任务的运行时间可以大于时标间隔, 而且可以是多个长任务, 这个如何理解?



问题2: 如下图, 作者特意强调必须有一个短任务(运行时间小于一半时标间隔), 但又没有介绍这个短任务的作用?  假设任务B和任务C都是长任务, 难道就不行嘛?



问题3: 如果使用混合式调度器, 已经存在"竞争关系", 例如抢占式任务(在中断中执行)和合作式任务(主循环中运行)有共享的全局变量, 大神一般是如何解决临界区问题的?

恳请大神指教, 感谢...






本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-22 07:51

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表