Linux内核设计与实现——7 中断与中断处理(3)

原创 2012年03月23日 20:07:23

3.中断处理程序

1)在响应一个中断的时候,内核会执行一个函数,这个函数就叫做中断处理程序,或中断服务例程(ISR

2)中断处理程序试设备驱动的一部分

3)中断随时可能发生,因此要求中断处理程序必须随时都可以运行。又因为中断是打断了别人的运行,所以要求要尽可能快执行完成,所以就有后文上半部与下半部的概念。

4)函数原型

static  irqreturn_t  (*irq_handler_t)(int  irq, void  *dev_id );

返回值irqreturn_t的定义为:typedef  int  irqreturn_t;

取值范围是:

IRQ_NONE  (0)  为不处理,即该中断不是自己负责的

IRQ_HANDLED  (1)  接受并处理,该中断是自己负责的

IRQ_RETVAL(X)         ((X) !=0) 表示X=0则去IRQ_NONE,否则IRQ_HANDLED

 

参数int  irq:中断号。一个中断号代表一条中断线。

参数void  *dev_id:唯一标识该设备的指针,指向该设备的结构

 

5)中断处理程序是无需可重入的,以为当一个中断处理程序正在执行的时候,它会屏蔽掉该中断线上所有其他中断(其他中断线可能还可以接受中断),所以,该中断函数时无论如何都不可能被重复调用的。

Linux内核设计与实现 原书第3版中文版pdf

下载地址:网盘下载 内容简介 编辑 《Linux内核设计与实现(原书第3版)》基于Linux 2.6.34内核详细介绍了Linux内核系统,覆盖了从核心内核系统的应用...
  • cf406061841
  • cf406061841
  • 2017年05月29日 10:00
  • 1764

《Linux内核设计与实现》学习笔记——中断、中断处理程序

中断的基本概念 中断机制的实现 中断的上半部,下半部 中断下半部的实现方式...
  • giantpoplar
  • giantpoplar
  • 2016年06月30日 22:28
  • 9111

Linux 内核中断内幕

本文对中断系统进行了全面的分析与探讨,主要包括中断控制器、中断分类、中断亲和力、中断线程化与 SMP 中的中断迁徙等。首先对中断工作原理进行了简要分析,接着详细探讨了中断亲和力的实现原理,最后对中断线...
  • q454684431
  • q454684431
  • 2016年03月16日 18:00
  • 1510

Linux内核设计与实现——7 中断与中断处理(5)——注册中断处理程序

5.注册中断处理程序 1)驱动程序可以通过request_irq()函数注册一个中断处理程序,并激活给定的中断线。函数原型如下: int request_irq( unsigned  int  i...
  • andy572633
  • andy572633
  • 2012年04月22日 20:56
  • 1033

Linux内核设计与实现——7 中断与中断处理(8)——中断控制

Linux内核提供了一组接口用于操作机器上的中断状态。这些接口为我们提供了能够禁止当前处理器的中断系统,或屏蔽掉整个机器的一条中断线的能力。这些例程都是与体系无关的,可以在和中找到。        ...
  • andy572633
  • andy572633
  • 2012年08月30日 07:55
  • 1291

Linux内核设计与实现 阅读笔记:7、中断和中断处理

By:Ailson Jack       Date:2016.04.08       个人博客:www.only2fire.com       本文在我博客的地址是:http://www.onl...
  • jackailson
  • jackailson
  • 2016年04月08日 23:00
  • 489

《Linux内核设计与实现》——中断和中断处理

一、中断  1、
  • Explorer_day
  • Explorer_day
  • 2014年11月11日 15:09
  • 606

《Linux内核设计与实现》读书笔记(七)- 中断处理

中断处理一般不是纯软件来实现的,需要硬件的支持。通过对中断的学习有助于更深入的了解系统的一些底层原理,特别是驱动程序的开发。 主要内容: 什么是中断中断类型中断相关函数中断处理机制中断控制...
  • dang_guoying
  • dang_guoying
  • 2017年01月11日 10:50
  • 105

《Linux内核设计与实现》读书笔记(七)- 中断处理

中断处理一般不是纯软件来实现的,需要硬件的支持。通过对中断的学习有助于更深入的了解系统的一些底层原理,特别是驱动程序的开发。 主要内容: 什么是中断中断类型中断相关函数中断处理机制中断控制...
  • CRLFreedom
  • CRLFreedom
  • 2014年08月30日 08:19
  • 319

Linux内核设计与实现(9)---中断处理的下半部

中断处理机制是操作系统必不可少的部分,但中断处理本身有一定局限性,包括: ①中断处理程序以异步方式执行,它有可能会打断其他重要代码(甚至中断处理代码)的执行,因此为了避免被打断的代码停止...
  • luteresa
  • luteresa
  • 2017年04月20日 15:00
  • 132
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Linux内核设计与实现——7 中断与中断处理(3)
举报原因:
原因补充:

(最多只允许输入30个字)