(1)为什么内核需要中断?
(2)硬件实现一个中断需要做什么?
注册就是告诉内核的存在;
(3)什么是快中断 什么是慢中断?
前者不允许发生中断嵌套
read属于中断上下文还是进程上下文?
中断上下文,进程上下文的区别?因为函数是由进程主动实现的,所以属进程上下文。
中断上下文属于硬件引起的。在中断处理函数中,没有所谓的进程的概念。所以不存在直接向用户空间发送消息,也不存在进程的调度,以及进程阻塞。
内核中记录中断的结构体
内核中断处理的入口,发生中断时,总入口函数asm_do_IRQ
#define irq_to_desc(irq) (&irq_desc[irq])
中断结构体irqaction成员:因为用户可以为一个中断分配多个处理函数(比如共享中断)。每个注册的处理函数都会用一个irqaction来表示
5.分析内核中断运行过程,以及中断3大结构体:irq_desc、irq_chip、irqaction(详解) - 诺谦 - 博客园