Chinaunix首页 | 论坛 | 博客
  • 博客访问: 495152
  • 博文数量: 135
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 905
  • 用 户 组: 普通用户
  • 注册时间: 2010-01-24 19:31
文章分类

全部博文(135)

文章存档

2010年(135)

我的朋友

分类: LINUX

2010-09-07 22:39:10

 Android中有些驱动程序提供辅助操作系统的功能,这些驱动程序不是linux的标准驱动,它们一般并不操作实际的硬件,只是辅助系统的运行。主要要以下几种:
Ashmem:匿名共享内存驱动
Logger:轻量级的Log驱动
Binder:基于OpenBinder系统的驱动,为Android平台提供IPC支持。
Android Power Management:电源管理模块
Low Memory Killer:在缺少内存的情况下杀死进程
Android PMEM:物理内存驱动

      Binder:Android的Binder驱动程序为用户层提供了IPC支持,Android的运行整个依赖Binder驱动。Binder设备节点名称:/dev/binder。用ls -l /dev/binder可查看设备属性。主设备号为10(misc driver),次设备号动态生成。
 Binder驱动程序在内核的路径如下:
\android_kernel_f301\include\linux\binder.h
\android_kernel_f301\drivers\misc\binder.c
Binder在Android用户空间的调用主要表现在对libutil工具库和service manager守护进程的支持。
\frameworks\base\cmds\servicemanager\Binder.c
\frameworks\base\cmds\servicemanager\Binder.h
\frameworks\base\libs\utils\Binder.cpp
\frameworks\base\libs\utils\Binder.h
      Binder是Android中主要的使用的IPC方式,通常只需要按照模板定义相关的类即可,不需要直接调用Binder驱动程序的设备节点。


阅读(1922) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~