原文链接:https://blog.csdn.net/woshijidutu/article/details/68952702
禁止中断指的是Linux内核停工了一组接口用于操作机器上的中断状态。这些接口为我们提供了能够禁止当前处理器的中断系统,或者屏蔽掉整个机器的一条中断线的能力。通过禁止中断,可以确保某个中断处理程序不会抢占当前的代码。控制中断系统在Linux的实现有很多,以local_irq_disable()和 local_irq_enable()函数
禁止内核抢占就比较简单了,就是防止当前进程不会突然被另一个进程抢占。在Linux的实现就是preempt_disable()和preempt_enable()函数
不管是禁止中断还是禁止内核抢占,都是为了提供内核同步,但是他们都没有提供任何保护机制来防止其它处理器的并发访问。Linux支持多处理器,因此,内核代码一般都需要获取某种锁,防止来自其他处理器对共享数据的并发访问,而禁止中断提供保护机制,这是防止来自其他中断处理程序的并发访问。