Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1179373
  • 博文数量: 573
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 66
  • 用 户 组: 普通用户
  • 注册时间: 2016-06-28 16:21
文章分类

全部博文(573)

文章存档

2018年(3)

2016年(48)

2015年(522)

发布时间:2015-12-09 16:03:23

select(poll)分析背景我们编写驱动程序的时候,通常需要告诉上层应用程序设备的状态:是否可读写。  应用程序可以直接通过read/write系统调用(阻塞和非阻塞模式)进入内核态驱动程序,那么驱动程序的read/write至少需要支持阻塞和非阻塞模式的读写:  上层阻塞模式调用read时,.........【阅读全文】

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

发布时间:2015-12-09 16:01:00

select(poll)系统调用实现解析(三)三、讨论几个细节3.1、fop->poll()       fop->poll()函数就是file_operations结构体中的poll函数指针项,该函数相信很多人都知道怎么写,网上大把的文章介绍其模板,但是为什么要那么写,而且它做了什么具体的事情?本.........【阅读全文】

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

发布时间:2015-12-09 15:59:55

select(poll)系统调用实现解析(二)二、重要结构体之间关系       比较重要的结构体由四个:struct poll_wqueues、struct poll_table_page、struct poll_table_entry、struct poll_table_struct,这小节重点讨论前三个,后面一个留到后面小节。 &nbs.........【阅读全文】

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

发布时间:2015-12-09 15:58:05

select(poll)系统调用实现解析(一)    上层要能使用select()和poll()系统调用来监测某个设备文件描述符,那么就必须实现这个设备驱动程序中struct file_operation结构体的poll函数,为什么?因为这两个系统调用最终都会调用驱动程序中的poll函数来初始化一个等待队列项, 然后将.........【阅读全文】

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

发布时间:2015-12-09 15:53:40

THIS_MODULE     内核模块,通过insmod(实际执行init_module系统调用)把自己编写的内核模块插入内核时,模块便与一个 struct module结构体相关联,并成为内核的一部分。下面是结构体struct module的完整定义,接下来会逐个解释:    struct module   .........【阅读全文】

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

登录 注册