linux 中断自学笔记
2012-02-01 22:35
405 查看
什么是中断:
中断是某些硬件用来与cpu异步通信的一种方式,类似的还有异常.(中断与异常的根本区别还有待继续研究,将在新的文章中解释)
中断的本质:
发往中断控制器的一个电信号,而后由中断控制器发往cpu。最后由cpu来调用之前注册的中断控制器。
中断类型:
快速中断(SA_INTERRUPT):在中断处理程序中禁止所有的中断
共享中断(SA_SHIRQ):多个中断处理程序共享同一个中断线,在中断来临时,会调用注册在这个中断线上的每一个中断处理程序。
中断上下文:
中断处理程序或下半部时,内核处在中断上下文中,不与任何的进程有关系,current没有意义(仅表示被中断的进程)。而且在中断上下文中,是不可以睡眠的。因为没有进程的表述,所以一旦睡眠,调度程序没有办法激活。
存在一个中断栈,大小一页,为中断上下文。
request_irq()函数可能会睡眠,因为其中包括对proc的文件操作。
中断是某些硬件用来与cpu异步通信的一种方式,类似的还有异常.(中断与异常的根本区别还有待继续研究,将在新的文章中解释)
中断的本质:
发往中断控制器的一个电信号,而后由中断控制器发往cpu。最后由cpu来调用之前注册的中断控制器。
中断类型:
快速中断(SA_INTERRUPT):在中断处理程序中禁止所有的中断
共享中断(SA_SHIRQ):多个中断处理程序共享同一个中断线,在中断来临时,会调用注册在这个中断线上的每一个中断处理程序。
中断上下文:
中断处理程序或下半部时,内核处在中断上下文中,不与任何的进程有关系,current没有意义(仅表示被中断的进程)。而且在中断上下文中,是不可以睡眠的。因为没有进程的表述,所以一旦睡眠,调度程序没有办法激活。
存在一个中断栈,大小一页,为中断上下文。
request_irq()函数可能会睡眠,因为其中包括对proc的文件操作。
相关文章推荐
- linux 中断下半部自学笔记
- Linux独立中断栈学习笔记及验证实验(ARM、x86)
- linux驱动开发学习--对中断和内核定时器的学习笔记
- Linux自学笔记——OpenSSL命令行工具
- linux环境arm裸机程序学习笔记1----makefile,中断,下载程序方法
- 红帽 LINUX 6自学笔记第三章(3) …
- linux自学笔记--bash变量和配置文件
- Cmake 自学笔记(linux)(二)
- linux 2.6源代码情景分析笔记之中断与异常6
- Linux中断处理学习笔记
- Linux自学笔记——计算机基础以及命令帮助的获取
- 自学笔记:Linux下显示系统信息的命令
- linux 内核笔记--中断子系统之softirq
- 红帽 LINUX 6自学笔记第三章(4) …
- 红帽 LINUX 6自学笔记(mv命令)
- Linux自学笔记(六)常用命令之权限管理命令,文件搜索命令,帮助命令
- linux平台开发自学笔记(二)-打造IDE
- Linux自学笔记——bash的基础特性
- Linux 自学笔记(六)——RPM 管理
- 字符设备驱动笔记——中断方式按键驱动之linux中断处理结构(五)