随笔分类 -  Linux Driver

摘要:  阻塞与非阻塞访问是I/O操作的两种不同模式,前者在I/O操作暂时不可进行时会让进程睡眠。   在设备驱动中阻塞I/O一般基于等待队列来实现,等待队列可用于同步驱动中事件发生的先后顺序。   使用非阻塞I/O的应用程序也可借助轮询函数来查询设备是否能立即被访问。     阻塞操作是指在设备操作时若不能获得资源则挂起进程,直到满足可操作的条... 阅读全文
posted @ 2010-10-18 02:08 yangzd 阅读(1656) 评论(0) 推荐(1)
摘要:并发(concurrency)指的是多个执行单元同时、并行被执行。而并发的执行单元对共享资源(硬件资源和软件上的全局、静态变量)的访问则容易导致竞态(race conditions)。 SMP是一种紧耦合、共享存储的系统模型,它的特点是多个CPU使用共同的系统总线,因此可访问共同的外设和存储器。 进程与抢占它的进程访问共享资源的情况类似于SMP的多个CPU. 中断可打断正在执行的进程,若中断... 阅读全文
posted @ 2010-10-16 11:54 yangzd 阅读(3461) 评论(0) 推荐(0)
摘要:Linux2.6内核中使用cdev结构体描述字符设备: structcdev{ structkobjectkobj;//内嵌的kobject对象,描述设备引用计数 structmodule*owner;//所属模块,一般赋值为THIS_MODULE structfile_operations*ops;//文件操作结构体 structlist_headlist; dev_tdev;//设备号 uns... 阅读全文
posted @ 2010-10-14 21:56 yangzd 阅读(1372) 评论(0) 推荐(0)