![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
linux驱动
文章平均质量分 83
kitlung
踏实做人,专心做事...
展开
-
linux设备驱动中的阻塞与非阻塞(一)
这两天在搞linux驱动的阻塞和非阻塞,困扰了两天,看了不少博客,有了点自己的想法,也不知是否对错,但还是写写吧,让各位大神给我指点指点。 首先说说什么是阻塞和非阻塞的概念:阻塞操作就是指进程在操作设备时,由于不能获取资源或者暂时不能操作设备时,系统就会把进程挂起,被挂起的进程会进入休眠状态并且会从调度器的运行队列移走,放到等待队列中,然后一直休眠,直到该进程满足可操作的条件,再原创 2015-11-23 10:53:48 · 3112 阅读 · 1 评论 -
linux设备驱动中的阻塞与非阻塞(二)
上一节我们分析了linux驱动中阻塞的实现,利用等待队列的休眠和唤醒机制实现,这一节我们探讨一下非阻塞的实现!其实在非阻塞中,我们可以直接打开一个设备,进行读取和写入操作,但是这样做很不好,因为使用的是非阻塞,所以无论能不能写入或者读取都会返回,就像小明去买衣服,去到商店,商店开门了,买了衣服回来,这固然是好,可是万一商店老板来晚了一分钟,小明看到一关门就回去了,要是他等待多一分钟,就可以买到原创 2015-11-23 13:07:48 · 520 阅读 · 0 评论 -
LINUX驱动编程
字符设备的注册与设备节点的自动创建cdev 结构内核内部使用struct cdevlinuxcdevh来表示一个字符设备注册字符设备动态初始化静态初始化向内核注册添加设备注销字符设备早期的方法注册字符设备注销设备设备节点的自动创建使用手动创建自动创建设备节点删除设备节点实例初始化 添加设备到内核自动创建设备节点主要的文件操作方转载 2015-11-23 18:45:26 · 482 阅读 · 0 评论