Chinaunix首页 | 论坛 | 博客
  • 博客访问: 106538
  • 博文数量: 48
  • 博客积分: 12
  • 博客等级: 民兵
  • 技术积分: 276
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-21 21:44
文章分类
文章存档

2013年(6)

2012年(42)

我的朋友

发布时间:2013-01-07 16:57:24

上一篇说到利用工作队列可以解决在中断里引用指针(如i2c的读写)会导致系统崩溃,现在下面描述工作队列的使用   第一步:声明一个指向工作队列的指针     struct workqueue_struct  *workq;   第二步:创建自己的工作队列  data->workq = create_singlethread_workqueue("eeprom");//dev->driver->name eeprom为名字可以修改   第三步:创建一个工作结构体变量,并将处理函数的......【阅读全文】

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

发布时间:2013-01-07 16:26:15

以下分析基于android2.2的google源码。  开机启动时,首先执行PhoneWindowManager.systemReady()(这之前的流程不分析)。调用KeyguardViewMediator.onSystemReady()进行待机锁屏及解锁逻辑。  KeyguardViewMediator是整个待机解/锁屏业务的调度器,负责调度锁屏界面的相关动作及查询解锁屏状态,包括以下一些内容:  查询锁屏状态,及当前处于锁屏状态还是已解锁状态,PhoneWindowManager持有KeyguardViewMediator的引用,当用户触......【阅读全文】

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

发布时间:2013-01-07 16:23:59

前一段时间,在开发一个驱动程序的过程中,需要在驱动程序与应用程序之间进行通信。其中驱动程序在接收到一个硬件中断之后通知应用程序进行相应的处理。为 解决此类问题,驱动程序提供了几种机制:(1)使用copy_to_user/copy_from_user方法,缺点是通信响应时间过长(2)使用信 号,但是限于字符设备(3)使用netlink。在linux2.4之后引入了netlink机制,它将是Linux用户态与内核态交流的主要方法之一。netlink 的特点是对中断过程的支持,也就是说,可以在中断程序中直接调用netlink相关函数。它在内核空间接收用户空间数据时不再需......【阅读全文】

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

发布时间:2013-01-07 16:22:35

  1、{}大括号:    用法一:通配符扩展    eg: ls my_{finger,toe}s    这条命令相当于如下命令的组合:    ls my_fingers my_toes    eg: mkdir {userA,userB,userC}-{home,bin,data}我们将得到 userA-home, userA-bin, userA-data, userB-home, userB-bin,userB-data,userC-home,......【阅读全文】

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

发布时间:2013-01-07 16:12:36

  前几篇文章提到在定时器中断里用工作队列来处理中断下半部分,但当时不明白其中的原理,今天终于发现了一些内容,现跟大家一起来分享。   工作队列可以把工作推后,交由一个内核线程去执行——该工作总会在进程上下文执行。通过工作队列执行的代码能占尽进程上下文的所有优势。最重要的就是工作队列可以重新调度甚至睡眠。     如果需要获得大量的内存时,在你需要获取信号量时,在你需要执行阻塞式的i/o操作是,它都会非常有用。   工作队列子系统是一个用于创建内核线程的接口,通过它创建的进程负责执行由内核其他部分排到队列里的任务(现在更明白工作队......【阅读全文】

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

登录 注册