系统相关
首页 > 系统相关> > Linux内核之禁止中断和禁止内核抢占

Linux内核之禁止中断和禁止内核抢占

作者:互联网

原文链接:https://blog.csdn.net/woshijidutu/article/details/68952702

禁止中断指的是Linux内核停工了一组接口用于操作机器上的中断状态。这些接口为我们提供了能够禁止当前处理器的中断系统,或者屏蔽掉整个机器的一条中断线的能力。通过禁止中断,可以确保某个中断处理程序不会抢占当前的代码。控制中断系统在Linux的实现有很多,以local_irq_disable()和 local_irq_enable()函数

禁止内核抢占就比较简单了,就是防止当前进程不会突然被另一个进程抢占。在Linux的实现就是preempt_disable()和preempt_enable()函数

不管是禁止中断还是禁止内核抢占,都是为了提供内核同步,但是他们都没有提供任何保护机制来防止其它处理器的并发访问。Linux支持多处理器,因此,内核代码一般都需要获取某种锁,防止来自其他处理器对共享数据的并发访问,而禁止中断提供保护机制,这是防止来自其他中断处理程序的并发访问。

标签:禁止,抢占,中断,内核,Linux,处理器
来源: https://blog.csdn.net/dianqicyuyan/article/details/122376772