2013年9月16日

linux内核中sys_poll()的简化分析

摘要: app:poll or select;kernel:sys_poll(); do_sys_poll(struct pollfd __user *ufds, unsigned int nfds,struct timespec *end_time); poll_initwait(&table); init_poll_funcptr(&pwq->pt, __pollwait);>table->qproc =__pollwait; do_poll(nfds, head, &table, end_time); for (;;)... 阅读全文

posted @ 2013-09-16 22:09 熊猫酒仙是也 阅读(606) 评论(0) 推荐(0) 编辑

(转载)Linux设备模型之input子系统详解

摘要: ------------------------------------------ 本文系本站原创,欢迎转载!转载请注明出处:http://ericxiao.cublog.cn/------------------------------------------一:前言在键盘驱动代码分析的笔记中,接触到了input子系统.键盘驱动,键盘驱动将检测到的所有按键都上报给了input子系统。Input子系统 是所有I/O设备驱动的中间层,为上层提供了一个统一的界面。例如,在终端系统中,我们不需要去管有多少个键盘,多少个鼠标。它只要从input子系统中 去取对应的事件(按键,鼠标移位等)就可以了。今 阅读全文

posted @ 2013-09-16 12:33 熊猫酒仙是也 阅读(195) 评论(0) 推荐(0) 编辑

(转载)linux 输入子系统

摘要: Linux输入子系统将输入驱动抽象为三层:事件处理层、核心层、设备驱动层。应用程序只需要跟事件处理层打交道,不需要察觉设备的变化。核心层是负责管理输入设备,并将消息在事件处理层和设备驱动层之间传递。由于事件处理和设备驱动的分离,使得应用程序读取输入信息的接口固定不变就可以适应新的同类输入设备。表示事件处理层的数据结构是struct input_handler,每个handler代表一种处理事件的方式,允许多个handler共存。代表设备驱动层的数据结构是struct input_dev。input_dev和handler可以建立连接,连接它们的就是struct input_handle。核心层 阅读全文

posted @ 2013-09-16 12:30 熊猫酒仙是也 阅读(225) 评论(0) 推荐(0) 编辑

导航