硬中断、软中断和信号的区别:
硬中断是外部设备对CPU 的中断,
软中断通常是硬中断服务程序对内核的中断,
而信号则是由内核(或其他进程)对某个进程的中断。
Linux 的中断处理分为两个半部,顶半部处理紧急的硬件操作,底半部处理不紧急的耗时操作。tasklet
和工作队列都是调度中断底半部的良好机制,tasklet 基于软中断实现。内核定时器也依靠软中断实现。
内核中的延时是忙等待或者睡眠等待,为了充分利用CPU 资源,使系统有更好的吞吐性能,在对延迟
时间的要求并不是很精确的情况下,睡眠等待通常是值得推荐的。