当前位置:首页 >探索 >Linux设备驱动中的并发控制 中断对于内核的运行非常重要

Linux设备驱动中的并发控制 中断对于内核的运行非常重要

2024-06-29 02:44:02 [百科] 来源:避面尹邢网

Linux设备驱动中的备驱并发控制

作者:佚名 系统 Linux 并发指的是多个执行单元同时、并行被执行,动中的并而并发的发控执行单元对共享资源的访问则很容易导致竞态。

[[208856]]

并发指的备驱是多个执行单元同时、并行被执行,动中的并而并发的发控执行单元对共享资源的访问则很容易导致竞态。

Linux设备驱动中的并发控制 中断对于内核的运行非常重要

linux内核中主要竞态

Linux设备驱动中的并发控制 中断对于内核的运行非常重要

1.多对称处理器的备驱多个CPU

Linux设备驱动中的并发控制 中断对于内核的运行非常重要

2.单CPU内进程与抢占它的进程

3.中断(硬中断、软中断、动中的并Tasklet、发控下半部)与进程之间

访问共享内存资源的备驱代码区称为“临界区”,临界区需要被以某种互斥机制加以保护,动中的并中断屏蔽、发控原子操作、备驱自旋锁和信号量等,动中的并是发控linux设备驱动中可采用的互斥途径。

这几个互斥的介绍:

1.中断屏蔽,这个主要用于单CPU,中断屏蔽将使得中断和进程之间的并发不再发生。

使用方法:

  1. local_irq_disable();//屏蔽中断 
  2. ... 
  3. ... 
  4. 临界区 
  5. ... 
  6. local_irq_enable();//开中断 

 

由于linux的异步IO、进程调度等很多重要的操作都依赖于中断,中断对于内核的运行非常重要,在屏蔽中断期间所有的中断都无法处理,因此长时间的屏蔽中断很危险,有可能导致数据丢失甚至系统崩溃。所以这个不作为重点讨论。

(责任编辑:知识)

    推荐文章
    热点阅读