Chinaunix首页 | 论坛 | 博客
  • 博客访问: 465460
  • 博文数量: 191
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 172
  • 用 户 组: 普通用户
  • 注册时间: 2013-10-31 14:35
个人简介

没有时间把一件事情做好,却有时间把一件事情反复做!

文章分类

全部博文(191)

文章存档

2016年(2)

2015年(74)

2014年(111)

2013年(4)

我的朋友

发布时间:2014-03-26 15:09:42

异步通知的概念与作用 异步通知的意思是:一旦设备就绪,则主动通知应用程序,这样应用程序根本就不需要查询设备状态,这一点非常类似于硬件上"中断"的概念,比较准确的称谓是"信号驱动的异步I/O"。 Linux信号 Linux系统中,异步通知使用信号来实现。信号也就是一种软件中断。信.........【阅读全文】

阅读(427) | 评论(0) | 转发(0)

发布时间:2014-03-26 11:54:34

阻塞与非阻塞I/O还记得上篇 我们讲到的是linux中并发控制访问的手段有哪些????原子、信号量、自旋锁、互斥体。这是为了保护临界区的资源,是多个进程对共享资源的并发访问的一种处理手段。但是,在驱动程序中,我们常常为了支持用户空间对设备的灵活访问,引入了阻塞与非阻塞I/O两种不同模式。  .........【阅读全文】

阅读(779) | 评论(0) | 转发(0)

发布时间:2014-03-26 10:12:46

首先,让我们来回顾一下在简单的linux字符设备驱动中,我们是通过file_operation的连接实现了应用程序访问内核的接口,在各个注册的函数接口中,我们并没有考虑一些比较复杂的情况,比如:当一个进程在打开文件进行修改时候,而另一个进程也在打开修改,同时可能有一个进程正在阅读,这时候就会发生竞争了。因此linux中必.........【阅读全文】

阅读(420) | 评论(0) | 转发(0)

发布时间:2014-03-26 10:03:55

struct file_operations{        struct module *owner;        // 指向拥有该结构的模块的指针,避免正在操作时被卸载,一般为初始化为THIS_MODULES        loff_t (*llseek) (struct file *, loff.........【阅读全文】

阅读(479) | 评论(0) | 转发(0)

发布时间:2014-03-26 09:51:28

linux设备驱动分3类:字符设备驱动、块设备驱动、网络设备驱动。废话少说:直接贴图展示: 1、字符设备结构体描述:cdev  struct cdev{    struct kobject kobj;/*内嵌的kobject对象*/    strcut module *owner;/*所属模块*/    struct file_operations *ops;/*文件.........【阅读全文】

阅读(452) | 评论(0) | 转发(0)
给主人留下些什么吧!~~
留言热议
请登录后留言。

登录 注册