没有时间把一件事情做好,却有时间把一件事情反复做!
全部博文(191)
发布时间:2014-03-26 15:09:42
异步通知的概念与作用 异步通知的意思是:一旦设备就绪,则主动通知应用程序,这样应用程序根本就不需要查询设备状态,这一点非常类似于硬件上"中断"的概念,比较准确的称谓是"信号驱动的异步I/O"。 Linux信号 Linux系统中,异步通知使用信号来实现。信号也就是一种软件中断。信.........【阅读全文】
发布时间:2014-03-26 11:54:34
阻塞与非阻塞I/O还记得上篇 我们讲到的是linux中并发控制访问的手段有哪些????原子、信号量、自旋锁、互斥体。这是为了保护临界区的资源,是多个进程对共享资源的并发访问的一种处理手段。但是,在驱动程序中,我们常常为了支持用户空间对设备的灵活访问,引入了阻塞与非阻塞I/O两种不同模式。  .........【阅读全文】
发布时间:2014-03-26 10:12:46
首先,让我们来回顾一下在简单的linux字符设备驱动中,我们是通过file_operation的连接实现了应用程序访问内核的接口,在各个注册的函数接口中,我们并没有考虑一些比较复杂的情况,比如:当一个进程在打开文件进行修改时候,而另一个进程也在打开修改,同时可能有一个进程正在阅读,这时候就会发生竞争了。因此linux中必.........【阅读全文】
发布时间:2014-03-26 10:03:55
struct file_operations{ struct module *owner; // 指向拥有该结构的模块的指针,避免正在操作时被卸载,一般为初始化为THIS_MODULES loff_t (*llseek) (struct file *, loff.........【阅读全文】
发布时间:2014-03-26 09:51:28
linux设备驱动分3类:字符设备驱动、块设备驱动、网络设备驱动。废话少说:直接贴图展示: 1、字符设备结构体描述:cdev struct cdev{ struct kobject kobj;/*内嵌的kobject对象*/ strcut module *owner;/*所属模块*/ struct file_operations *ops;/*文件.........【阅读全文】