打印

专题:OS 和看门狗的问题

[复制链接]
1858|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
HotC51|  楼主 | 2009-2-19 08:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
“阶级敌人”Airwill的讨论“OS 和看门狗的问题”里

我跟帖转帖了大量有关"usosii"的网文,设计主题“OS 和看门狗”肯定是找不到的。

computer00 发表于 2009-2-17 10:48 侃单片机 ←返回版面    

11楼: 看门狗和OS有必然联系吗? 

学生D 发表于 2009-2-18 18:17 侃单片机 ←返回版面    

19楼: 这么研究OS理论? 

请问,winXP带了狗吗?它需要看门吗?

一个OS最基础的活动是自己的硬件时钟节拍——系统心跳,它的作用本身就是一个看门狗:假设某当前运行任务A出现异常时,时钟节拍的ISR能够舍弃这个任务(放弃这个虚拟MCU及其资源)而切换到其它任务,当再次轮换到A任务时,OS可以使其从头开始重新运行。——这不正是看门狗的恢复作用?愿意的话,当然可以设计使OS切换到A任务出现故障时的那一点重新开始运行。这与设计看门狗恢复程序是一样的。

呵呵,谁愿意再养一条看门狗,那是属于用户意愿,如00所说,跟OS无关!

OS是内核,有自己的心跳。(只有一个心跳,只喂一条狗。——养2条狗听哪条狗叫?)  用户是核外程序,愿意养多少条狗都行。

 
俺来谈谈自己的想法:

首先,OS和狗没任何关系。

其次,在但定时器的MCU-OS中,定时器是节拍的提供者和支持者。

若采用10mS节拍,则系统要组成10个任务,那么在任一节拍处理程序中,

每个用户将平分此节拍,即每个任务可至少获得1mS的时间来运行该任务

程序。

若某任务运行事件远远低于此时间,即提前完成该时间片内的任务。

反之,超过时间片所约定的时间。

不管什么情况发生,该任务都会通过软中断的方式来达到在硬件节拍中断

下次来前使下个时间片的任务跟随运行。

以此类推,直到第10个任务的完成。

即使某任务超时,但10个总任务完成时间最大之和若低于节拍时间10mS

则认为本OS应用设计是合理的。

而不应该任务那些时间片超时的任务是违法的,因为OS任务本来就是死循环。

若要求全部任务在各自时间片内不得超时的OS只配称之为“协作式”OS.

OS的成功之关键就是任务调度及切换,任务同级“菜鸟”和被同级“非礼”

的任务之权利,应该在随后的时间片内得到执行。

切换时间和任务要求的强实时的多少有关,一般即可。

而任务狗和OS自带狗肯定不同。因为后者具备了OS提供的内部接口,而前者

和任务一样,它只能在其时间片内运行。

再者OS狗的级别是超越中断事件处理任务和一般任务的最高级特权任务。

它是每个节拍中断到来后运行的第1个任务。

而其他任务(包括中断退出后设定的中断处理任务)的引发,都是通过软中断

来引发的。

再说明:

若狗任务和其他任务都归属同一节拍中断源,那么若实时监视每个时间片的

任务,则应该用另一节拍频率加倍的狗任务才能完成。

故OS的狗任务和其他任务都归属同一节拍中断源的设计是有问题的~~~

若任务关某一中断。。。

上班中,且听下次分解~~~
 


相关帖子

沙发
HotC51|  楼主 | 2009-2-19 08:44 | 只看该作者

儿童团在此安放“消息树”等待“阶级敌人”,好及时通知

使用特权

评论回复
板凳
xwj| | 2009-2-19 09:03 | 只看该作者

儿童团在此安放“消息树”等待LZ来“躲猫猫”...

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

306

帖子

0

粉丝