相关代码在资源中下载。
互斥:指一个执行单元在访问共享资源的时候,其他的执行单元被禁止。
所谓的原子操作一般是由多步组成的操作,执行过程中不会被其它的代码操作打断,从而实现互斥。
用到的函数,结构体及其他:
/*用于设置原子变量的值*/
ATOMIC_INIT(i)
/*对原子变量自增,并测试是否为0
*v:原子变量的地址*/
atomic_dec_and_test(v)
/*原子变量增加1
*v:原子变量的地址
*/
atomic_inc(v)
驱动程序:
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/init.h>
#include <linux/delay.h>
#include <linux/irq.h>
#include <linux/device.h>
#include <lin