1. scull_pipe.c
2. Makefile
3. pipe_testr.c 从pipe0读取8个字节
4. pipe_testw 向pipe0写入24个字节
5. Makefile
6. 测试
装载驱动模块
sudo insmod ./scull_pipe.ko
查看主设备号,假设为251
cat /proc/devices
建立设备节点
sudo mknod /dev/pipe0 c 251 0
更改权限
sudo chgrp staff /dev/pipe0
sudo chmod 664 /dev/pipe0
开启四个终端
分别在终端1,2,3 运行三个pipe_testr.o
现在没有数据,全部进入休眠
在终端4运行pipe_testw.o
终端4打印
Write 24 bytes to scull
首先运行在终端1的读进程被唤醒 打印
Read 8 bytes from scull
Read "Hello, C" from scull
接着运行在终端2的读进程被唤醒 打印
Read 8 bytes from scull
Read "haracter" from scull
最后运行在终端3的读进程被唤醒 打印
Read 8 bytes from scull
Read " driver!" from scull