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