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

设备在发出中断后如何处理

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

    本文导语:  在读内核代码的时候有一个地方不太明白。当中断服务程序ISR在处理一个中断的时候,同一CPU上相同的IRQ在PIC上是被屏蔽的(对于APIC好像同一个IRQ可以在不同的CPU上嵌套发生),也就是PIC不再允许后来的相同IRQ的中...

在读内核代码的时候有一个地方不太明白。当中断服务程序ISR在处理一个中断的时候,同一CPU上相同的IRQ在PIC上是被屏蔽的(对于APIC好像同一个IRQ可以在不同的CPU上嵌套发生),也就是PIC不再允许后来的相同IRQ的中断再次发送到CPU,直到ISR执行完毕想PIC做出确认为止。如果在ISR运行期间设备再次发出中断会不会丢失呢?

很多资料中对PIC到CPU这一段的处理描述的很清楚,但是对设备到PIC之间的情况却提到的不多。我做出一个猜测是当设备发出中断后要等到确认后才再次发出后续中断。这种确认要么是在ISR确认PIC后由PIC来确认,要么是由ISR来确认(ISR知道它服务设备的寄存器地址)。不知道是否是这样。如果是这样,当设备工作很频繁而ISR服务的又很慢,会不会导致设备中数据的丢失?


|
1、硬件发出中断后不需要等待确认。
2、如果ISR服务很慢,确实会造成中断丢失的现象。因此慢速的ISR一般分成两部分处理:上半部分和下半部分。上半部分一般在尽可能短的时间内运行完,只保存下半部分需要用到的参数,然后就退出ISR。这时系统又可以接受新来的中断。在上半部分完成后,系统再运行下半部分来实际处理中断。

|
该回复于2010-08-13 15:27:31被版主删除

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












  • 相关文章推荐
  • UIO(linux Userspace I/O子系统)用户空间设备驱动I/O技术介绍
  • 弱问:一个设备能不能既是字符设备又是块设备?
  • 字符设备驱动,混杂设备驱动,总线、设备、驱动模型、平台驱动
  • 关于设备操作的一点迷惑:计算机如何知道驱动程序要操作的设备正好是指定的设备?
  • 如何根据主设备号打开设备?
  • 设备与设备文件问题
  • 怎么知道设备节点对应那个设备?
  • 网络技术 iis7站长之家
  • 关于设备节点,设备文件系统的关系
  • 字符型设备驱动生成的块设备
  • 程序如何open这个设备,如何知道这个设备对应的特殊文件名?
  • 请问cf接口设备一般对应什么设备文件呢?
  • 怎么区分字符设备和块设备???????
  • 混杂 字符型设备 自动创建设备文件的问题
  • linux2.4如何在设备拔出后将无效的设备节点也删除
  • 内存映射设备后,就可以直接访问设备的片内内存 了(比如显卡的显存)?
  • Linux的设备和设备号是指什么?可否简单的解释一下?
  • Linux设备驱动(第三版)- 字符设备驱动 - 例子
  • 问一个问题。请问如何在文件系统管理并使用设备,也就是当一个设备装载,下载时。文件系统是如何实现的
  • Linux下写了一个字符设备驱动,找不到设备文件在哪个目录
  • linux 启动的时候 可以检查出很多设备 并给设备配以驱动程序


  • 站内导航:


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

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

    浙ICP备11055608号-3