首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C语言 >

还是临界代码的有关问题

2012-03-07 
还是临界代码的问题?1)为什么在讲中断延迟时,说“所有实时系统在进入临界区代码段之前,都要关中断;执行完临

还是临界代码的问题?
1)为什么在讲中断延迟时,说“所有实时系统在进入临界区代码段之前,都要关中断;执行完临界代码之后,再开中断”难道在执行中断前后要经过临界代码吗?
2)中断延迟=关中断的最长时间+开始执行中断服务子程序第一条指令的时间
也应该是:中断延迟=开中断的最长时间+开始执行中断服务子程序第一条指令的时间。



[解决办法]
1、不是,会造成死锁
[解决办法]

1)为什么在讲中断延迟时,说“所有实时系统在进入临界区代码段之前,都要关中断;执行完临界代码之后,再开中断”难道在执行中断前后要经过临界代码吗?
===================================================
临界代码指的是非常重要的代码,不允许被中断,所以执行期间要屏蔽中断。执行完后马上要开中断,否则容易引起系统错误...而且,关中断的时间不宜长,也就是说临界代码必须非常短。。。

2)中断延迟=关中断的最长时间+开始执行中断服务子程序第一条指令的时间
也应该是:中断延迟=开中断的最长时间+开始执行中断服务子程序第一条指令的时间。
===============================================
正如上面所说,中断延迟可以用来衡量实时系统的好坏,所以中断延迟应力争最小...
[解决办法]
1)为什么在讲中断延迟时,说“所有实时系统在进入临界区代码段之前,都要关中断;执行完临界代码之后,再开中断”难道在执行中断前后要经过临界代码吗?

这个不一定。
如果你的中断是去执行临界代码段
那就去执行
如果不是
那就不执行了


2)中断延迟=关中断的最长时间+开始执行中断服务子程序第一条指令的时间
也应该是:中断延迟=开中断的最长时间+开始执行中断服务子程序第一条指令的时间。


开中断和关中断是互斥的
开中断的时候
是在响应中断
关中断的时候
是在处理中断

[解决办法]
学习......

热点排行
Bad Request.