设备驱动中的并发控制
在为操作系统编写驱动设备时,因为涉及到中断、多任务和多处理器SMP的处理,所以内核提供了诸如原子操作、信号量、完成量等几种并发控制机制,对公用资源进行保护。下文将分别予以阐述。1、原子变量原子变量就是,在对其进行操作时不会被其它任务或中断打断。而原子操作需要硬件的支持,因此时架构相关的,其API和原子类型的定义在内核include/asm/atomic.h文件中,都是用汇编语言实现的。它的优点是使用简单,但缺点是功能单一,只能做计数操作,保护的东西太少。在Linux中,原子变量的定义如下:typ