当前位置:  技术问答>linux和unix

中断延迟和中断响应、调度延迟的关系?谁来讲讲?

    来源: 互联网  发布时间:2016-05-09

    本文导语:  我看了一些资料,其中说: 中断延迟=关中断的最长时间+开始执行中断服务程序第1条指令的时间, 而 中断响应=中断延迟+保存CPU状态的时间+该内核ISR进入函数的时间 那么,什么是关中断的最长时间?开始执行中断...

我看了一些资料,其中说:
中断延迟=关中断的最长时间+开始执行中断服务程序第1条指令的时间,

中断响应=中断延迟+保存CPU状态的时间+该内核ISR进入函数的时间

那么,什么是关中断的最长时间?开始执行中断服务程序第1条指令时间和该内核进入函数时间不是一个么?

还有,什么是调度延迟?谢谢!

|
---中断延迟=关中断的最长时间+开始执行中断服务程序第1条指令的时间, 

比如,当前你关中断了,尽管来了中断设置了中断状态位但不能响应它,此时你的中断就被延迟了,当你打开中断时,CPU就立刻响应中断了,“中断服务程序第1条指令的时间”是指中断异常向量的第一句,比如ARM的IRQ入口的中断跳转指令

---中断响应=中断延迟+保存CPU状态的时间+该内核ISR进入函数的时间
中断响应的时间为硬件上产生中断事件到服务对应中断服务程序的时间,就是上述公式
开始响应时还要保存中断前的所有状态寄存器及部分通用寄存器,然后才能开始真正的中断处理 

---那么,什么是关中断的最长时间?
这取决于你的实际系统关中断到开中断的最大时间,所以在实际的代码中,关中断之后处理的代码要尽量少,尽快打开中断,这样减少中断相应延时
 

--什么是调度延迟?
是指当前任务已经就绪,到其获得CPU权限的时间差
比如当前有更高优先级的任务在运行,或某任务的时间片未到等
取决于当前任务的优先级和系统的任务调度策略

|
关中断的最长时间:是处理器关中断以及中断控制器mask掉中断整个区域的代码量
最大任务调度延迟:是当前运行低优先级任务的系统中出现了高优先级任务的时刻到高优先级任务被调度后开始运行的这段时间来衡量

|


关中断的最长时间:理解为程序指针在非中断程序代码区

开始执行中断服务程序第1条指令时间和该内核进入函数时间:理解为程序指针和寄存器被保护压栈的操作及操作完成,倒转到中断代码区

调度延迟:理解成内核的上半部,下半部既延迟让进程执行。天呢,全是基本的专业术语,建议楼主查相关资料,慢慢积累

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在linux上怎么编写一个模块来提供某个中断的中断处理程序呢?而且有哪些中断可以自己添加中断处理程序呢?
  • Linux 系统中的中断是不是没有中断优先级
  • NOSQL iis7站长之家
  • 中断上下文,进程上下文 ,内核抢占,用户抢占,中断
  • 求助,ADS调试中断2440无法进入中断服务。。。
  • 除零中断那些中断是怎么工作的?
  • 傻傻得问,如果两个设备共享一个中断线,中断响应程序怎么区分?
  • 求教:一进程执行过程中被同一外部中断程序大量反复中断会不会引起内核栈溢出?
  • kernel 什么时候可以中断 什么时候不可以中断
  • 在Linux驱动中如何开中断和关中断?
  • LINUX下系统调用是不能中断的,要怎么改造成可以中断系统调用?
  • linux内核中的中断向量号是如何与硬件的中断Pin关联的?
  • 书上说,中断用自旋锁,进程,用信号量,但是,为什么中断不能用信号量?
  • ucosII 移植到arm 用ads,关于关中断、开中断
  • 检测不到中断,无法进入中断处理程序。
  • linux中断处理 如何调用内核的中断操作
  • 关于中断共享的问题:ADC 与触摸屏的中断共享
  • Linux驱动中注册的中断号与实际的硬件中断号的关系
  • 中断函数用法的问题
  • 内核会丢中断吗?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3