
linux驱动
文章平均质量分 60
cohowang
这个作者很懒,什么都没留下…
展开
-
ioctl参数命令设置
#define SCULL_IOC_MAGIC k #define SCULL_IOCRESET _IO(SCULL_IOC_MAGIC, 0) #define SCULL_IOCSQUANTUM _IOW(SCULL_IOC_MAGIC, 1, int) #define SCULL_IOCSQSET _IOW(SCULL_IOC_MAGIC, 2, int) #define原创 2009-07-22 16:59:00 · 1293 阅读 · 0 评论 -
并发与竞态
并发与竞态的产生有两个原因:多线程和临界资源。而linux通过信号量和自旋锁来避免出现竞态。 信号量与自旋锁的原理都来自于PV操作,而其(自旋锁与互斥体)主要区别在于:在拥有信号量时,线程可以进入休眠,而在拥有自旋锁时则不能进入休眠。自旋锁会不停的轮询以获得锁。 将信号量的初始值设为1,则称为互斥体(mutex--mutual exclusion)。 信号量与原创 2009-07-23 11:13:00 · 700 阅读 · 0 评论 -
块设备读写流程
块设备与字符设备的区别1、 从字面上理解,块设备和字符设备最大的区别在于读写数据的基本单元不同。块设备读写数据的基本单元为块,例如磁盘通常为一个sector,而字符设备的基本单元为字节。所以Linux中块设备驱动往往为磁盘设备的驱动,但是由于磁盘设备的IO性能与CPU相比很差,因此,块设备的数据流往往会引入文件系统的Cache转载 2009-07-24 15:58:00 · 2339 阅读 · 0 评论