中断又叫异步中断,由硬件触发。而异常又称为同步中断,由软件触发。
中断服务程序(中断处理函数)是一种处理中断响应的函数,它是一种遵循特定原型声明的C函数,它运行在中断上下文中,也称为原子上下文,代码运行在此上下文中是不能被阻塞的。中断服务程序必须运行非常快,它最基本的工作就是告诉硬件已经收到了它发出的中断,但通常还执行大量其他的工作。为此,一般中断服务程序分为两半,一半是中数据恢复处理函数,称为上半部,它只执行那些可以很快执行的代码,如向硬件确认已经收到中断号等,其他的工作要延迟到下半部去执行。
执行在中断上下文中的代码需要注意的一些事项:
中断上下文中的代码不能进入休眠。
不能使用mutex,只能使用自旋锁,且仅当必须时。
中断处理函数不能直接与用户空间进行数据交换。
中断处理程序应该尽快结束。
中断处理程序不需要是可重入的,因为相同的中断处理函数不能同时在多个处理器上运行。
中断处理程序可能被一个优先级更高的中断处理程序所中断。为了避免这种情况,可以要求内核将中断处理程序标记为一个快速中断处理程序(将本地CPU上的所有中断禁用),不过在采取这个动作前要慎重考虑对系统的影响。
http://blog.csdn.net/fuyajun01/article/details/7422249
http://blog.csdn.net/skyflying2012/article/details/7850674
分享到:
相关推荐
在Linux操作系统中,内核中断是系统处理外部事件和硬件信号的核心机制。中断允许硬件设备在需要时立即通知CPU,从而高效地响应各种输入、输出请求和其他系统级事件。在这个"Linux内核中断实例"中,我们将深入探讨...
### Linux内核中断分析 #### 重要性及作用 中断系统是计算机系统中不可或缺的关键组件,在整个系统的运行中扮演着至关重要的角色。特别是在Linux操作系统中,中断机制的高效性和灵活性对于提升系统的整体性能至关...
把内核中断的流程说的很清楚,学习Linux的必备资料
《缩短μC/OS-II实时内核中断关闭时间的方法设计》 实时操作系统(RTOS)在多任务并发执行中,为了确保任务间的同步和数据安全,通常会在进入临界区时关闭中断。中断关闭时间的长短直接影响了系统的响应速度和实时...
内核中断处理是操作系统核心的重要组成部分,它负责处理硬件设备产生的中断请求,确保系统的稳定运行和高效响应。中断处理机制是计算机系统与外部世界交互的关键途径,它允许系统在执行正常任务的同时,能够及时响应...
linux内核中断处理.doc
### Linux内核中断机制——时钟中断与动态定时器机制详解 #### 一、引言 在现代操作系统中,中断机制是实现系统高效管理和响应外部事件的关键技术之一。Linux作为一款广泛使用的开源操作系统,其内核中断机制尤其受...
在探讨“嵌入式ARM7 ARM内核中断技术”这一主题时,我们深入研究了ARM处理器在嵌入式系统中的中断处理机制,这对于理解和优化基于ARM7架构的嵌入式设备至关重要。 ### ARM内核中断技术概述 中断是计算机体系结构中...
### Linux内核中断详解 #### 一、中断基础 **中断**是计算机系统中的一个重要概念,在现代操作系统的设计中扮演着核心角色。对于Linux内核而言,管理与之相连的所有硬件设备是其基本职责之一。为了有效地与这些...
在Linux内核中断编程中,理解 `request_irq()` 和 `free_irq()` 的用法至关重要,它们是内核中断处理的核心。同时,中断处理函数的编写必须高效且避免阻塞,因为中断处理是上下文切换的关键点,影响系统的实时性。 ...
《Linux 2.4内核中断之探析》这篇文献主要探讨了Linux 2.4内核中的中断处理机制,作者柏礼俊深入解析了基于Intel 80x86架构的Linux中断处理流程,特别关注了新引入的softirq和tasklet机制。 中断是计算机系统中关键...
总的来说,Linux内核中断机制是操作系统与硬件交互的基础,它通过中断服务例程协调硬件事件和内核任务,使得内核能够在执行其他工作的同时,能够及时响应硬件设备的需求,从而保证了系统的高效运行。理解和掌握中断...
### uclinux内核中断处理_v0.1 #### 1.1 中断配置 ##### 1.1.1 中断入口设置 在uclinux内核中,针对ADSP-BF561 CPU的中断处理是通过特定的配置来实现的。这部分配置主要发生在内核初始化阶段,具体来说是在`setup...
### uclinux内核中断处理_v0.2 #### 数据结构 在uclinux内核中,为了管理和处理中断事件,定义了几种重要的数据结构,包括`irq_desc`、`irq_chip`以及`ivg_table`等。 ##### irq_desc `irq_desc`是用于描述每个...
Linux内核中断分析主要涉及操作系统的核心机制,尤其是与Intel 80x86架构相关的中断处理。中断系统在计算机系统中扮演着至关重要的角色,它允许CPU暂停当前执行的程序,去响应来自硬件设备(如输入输出请求)或处理...
但我可以根据“Linux 内核-中断和系统调用”这一标题和描述,以及一般操作系统相关的知识,来构建一篇关于Linux内核中断和系统调用的文章。 Linux内核中断是操作系统中极其重要的概念。中断是计算机系统处理异步...
Linux2_4内核中断之探析.PDF
关于linux 内核中断相关的源码阅读笔记
在Linux系统中,栈可以分为进程栈、线程栈、内核栈以及中断栈。 首先,我们需要了解栈(Stack)的基本概念。栈是一种后进先出(LIFO, Last In First Out)的数据结构,它允许数据被存储和检索,但只允许在一段称为...
linux内核中的中断与异常,结合深入理解linux内核、linux内核的设计与实现、linux内核源代码情景分析三本书做出来的ppt,看ppt时请结合深入理解linux内核或者linux内核的设计与实现。 自己做的ppt,有错误之处请指出...