3392|5

97

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

一个潜入式的OS调度问题! [复制链接]

    以UC/OS为例子,系统调度是由一个软中断A进行管理的,而这个软中断是由系统的时钟节拍中断HA触发的,但是同时,一个问题,假如现在一个其他的硬件中断HB触发了另外一个软中断B,但是不巧的是,这个B在执行的时候,HA触发了,那么:
    B的执行肯定被中断了哈!
    但是问题来了,假如B的优先级》A,那么被中断的B能在HA触发A之后执行吗?还是要等HA触发了A,并且A执行完之后,才能返回B的上下文,因为系统调度是以任务或者说线程为单位的,不能对中断进行管理,不论硬,还是软中断!
    请教:正在执行的软中断,被硬中断打断后,怎么会原来的中断?如果硬件中断触发另外一个软件中断,那么被中断的软中断和刚刚触发的软件中断的执行调度又怎么实现?

最新回复

   楼上说的有道理,但是有个问题,就是软中断不属于线程的概念,他是不接受调度,调度的单位是线程,有一个软中断被硬件中断中断了,而该硬中断又起了软件中断,那么新软件中断和原来的软中断的之间关系如何,新的马上运行,还是旧的恢复运行,我说的是软中断,到目前为致,线程还没有运行的机会哪,因为有软中断存在!!!    新,旧软中断的如何调度的!请教了!  详情 回复 发表于 2007-11-28 21:56
点赞 关注

回复
举报

64

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
这个问题,不用楼主担心的。现在的操作系统哪些成熟,中断机制当然也是十分成熟的。
楼主实在想明白,找本操作系统的方面的书研究研究。
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
正在执行的软中断,被硬中断打断后,怎么会原来的中断?如果硬件中断触发另外一个软件中断,那么被中断的软中断和刚刚触发的软件中断的执行调度又怎么实现?

一个比较猥琐的解决办法是

进入软件中断或是一个临界区的时候,就把可能打扰的事件关停

嘿嘿

出来之前再开开

 
 
 

回复

105

帖子

0

TA的资源

一粒金砂(中级)

4
 
   恐怕这个不是个办法吧!
 
 
 

回复

83

帖子

0

TA的资源

一粒金砂(初级)

5
 
在嵌套中断之内是不会发生进程切换的。所以会回到被打断的中断中,等所有的中断都返回了,才会进行进程切换(如果需要的话)
读了UC/OS的源代码就可以知道,有个中断嵌套计数值,每进一个中断要++,退出要--,只有值为0,才会发生进程切换,否则是直接返回。
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

6
 
   楼上说的有道理,但是有个问题,就是软中断不属于线程的概念,他是不接受调度,调度的单位是线程,有一个软中断被硬件中断中断了,而该硬中断又起了软件中断,那么新软件中断和原来的软中断的之间关系如何,新的马上运行,还是旧的恢复运行,我说的是软中断,到目前为致,线程还没有运行的机会哪,因为有软中断存在!!!
   新,旧软中断的如何调度的!请教了!
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表