实验题目:
http://gauss.ececs.uc.edu/Courses/c4029/labs/lab6.html
大致内容就是写一个设备驱动,实现“开关读写”。然后加入读写信号量,实现互斥访问:可以多个人同时读,但只要有一个人写,那么其他人就不能读和写。
注: 1. 关于显示运行时间的问题,可以参考我的另一篇博文:http://blog.csdn.net/u013806583/article/details/58127067 2. 关于如何编译、加载和卸载内核模块,可以参考《Linux OS内核 作业一》的方法:http://blog.csdn.net/u013806583/article/details/58604378
开启三个终端,分别运行 ./app 。其中一个运行写命令,其余两个运行读命令。
结果:可以看到当程序在写时,读操作要等待。当写操作完成时,两个读操作几乎同时进行。
系列博客: 相信当你需要其中一个的时候,也一定需要剩下的两个 Linux OS内核 作业一:kthread和workqueue Linux OS内核 作业二:多线程访问 Linux OS内核 作业三:设备驱动与读写信号量
新闻热点
疑难解答