字符设备驱动

使用spinlock保护临界区资源

测试方法

首先执行

cat /dev/spinlock_test &

在10秒内执行下面命令看结果

echo lock > /dev/spinlock_test

在10秒内执行下面命令看结果

echo trylock > /dev/spinlock_test

测试注意

  • 用cat读取设备文件是,传入的字节数是32768,而这里的read函数只返回msg_len = 4个字符,因此用了flag来控制读,当返回了”read”后,会立刻返回0,否则cat会不断调用spinlock_read函数,就会出现不断输出”read”的现象
  • 用echo写入时会自动添加”\n”,所以在判断的时候也要判断”\n”