在init.rc文件里加载的服务

1、sh服务 
2、adbd 服务 
3、servicemanager 
4、vold 
5、nexus 
6、zygote 
7、mediaserver 
8、bootanimation 
9、dbus 
10、installd 
11、keystore 

1、sh服务 
service console /system/bin/sh 
console 
sh服务是控制台服务,其实它是从NetBSD移植过来的,因此它的命令也是比较有限的,不过作为嵌入式系统,使用shell的机会不多。 
sh服务的代码在目录:Android-2.0/system/core/sh 
sh服务使用flex工具生成词法分析代码,使用bison生成语法分析代码。 

2、adbd 服务 
# adbd is controlled by the persist.service.adb.enable system property 
service adbd /sbin/adbd 
disabled 
adbd服务的代码在目录:Android-2.0/system/core/adb 
adbd 服务使用c语言实现,它不但可以在虚拟机里运行,也可以在实际的设备里运行。adbd服务是adb调试系统中的一部分,整个adb调试系统包括有三部分:手机运行的adbd服务、PC运行的服务器、PC运行的客户端。当android启动时,就运行adbd服务,创建一个调试端口,这样就可以让开发机器上的服务器连接过来,通过这个连接就可以发送调试信息给服务器,也可以接收到外面发送过来的调试命令。 

3、servicemanager 
service servicemanager /system/bin/servicemanager 
user system 
critical 
onrestart restart zygote 
onrestart restart media 
servicemanager服务的代码在目录: 
Android-2.0/frameworks/base/cmds/servicemanager 
servicemanager 服务的作用主要是服务管理,所谓的服务管理其实就是获取服务、检查服务、添加服务、枚举所有服务。服务管理器是一个容器管理器,方便服务添加、调用和删除。在应用层的程序,都向这个服务管理器获取需要使用的服务,而所有提供服务的程序,都向这个服务器管理器注册自己的服务。服务管理器是应用程序与服务沟通的桥梁。 

4、vold 
service vold /system/bin/vold 
socket vold stream 0660 root mount 
vold服务的代码在目录: 
Android-2.0/system/core/vold 
vold服务的作用主要是负责完成系统的动态卷管理,比如CDROM、U盘、MMC卡等外存储的管理。当有这外存储设备插入时,就需要监视这种变化,并加载相应的驱动程序,然后报告给系统和应用程序有新存储设备可以使用。 
Vold处理过程大致分为三步: 
1.创建链接: 
在vold作为一个守护进程,一方面接受驱动的信息,并把信息传给应用层;另一方面接受上层的命令并完成相应。所以这里的链接一共有两条: 
(1)vold socket: 负责vold与应用层的信息传递; 
(2)访问udev的socket: 负责vold与底层的信息传递; 
这两个链接都是在进程的一开始完成创建的。 
2.引导: 
这里主要是在vold启动时,对现有外设存储设备的处理。首先,要加载并解析vold.conf, 
并检查挂载点是否已经被挂载; 其次,执行MMC卡挂载; 最后,处理USB大容量存储。 
3.事件处理: 
这里通过对两个链接的监听,完成对动态事件的处理,以及对上层应用操作的响应。 

5、nexus 
service nexus /system/bin/nexus 
socket nexus stream 0660 root system 
disabled 
nexus服务的代码在目录: 
Android-2.0/system/core/nexus 
nexus服务主要作用就是监听网络命令,提供网络管理的功能。 

6、zygote 
service zygote /system/bin/app_process -Xzygote /system/bin --zygote --start-system-server 
socket zygote stream 666 
onrestart write /sys/android_power/request_state wake 
onrestart write /sys/power/state on 
onrestart restart media 
zygote服务的代码在目录: 
Android-2.0/frameworks/base/cmds/app_process 
zygote服务主要作用就是创建一个服务监听用户的命令,并且根据用户的命令创建应用程序运行。 

7、mediaserver 
service media /system/bin/mediaserver 
user media 
group system audio camera graphics inet net_bt net_bt_admin 
mediaserver服务的代码在目录: 
Android-2.0/frameworks/base/media/mediaserver 
mediaserver服务是多媒体服务的守护进程,负责多媒体/照相机/音频等三项服务。 

8、bootanimation 
service bootanim /system/bin/bootanimation 
user graphics 
group graphics 
disabled 
oneshot 
bootanimation 服务的代码在目录: 
Android-2.0/frameworks/base/cmds/bootanimation 
bootanimation 服务是开机动画,主要用来加载动画资源。 

9、dbus 
service dbus /system/bin/dbus-daemon --system --nofork 
socket dbus stream 660 bluetooth bluetooth 
user bluetooth 
group bluetooth net_bt_admin 
dbus服务的代码在目录: 
Android-2.0/external/dbus/bus 
dbus服务是android使用的一种特殊的进程间通讯系统。它具有面向对象接口的协议,以及应用程序之间互相发现和监视的守护进程。dbus设计用来作为用户与系统服务之间的分隔以及系统服务之间的通讯。因此,dbus通讯安全,但效率有点差。 

10、installd 
service installd /system/bin/installd 
socket installd stream 600 system system 
installd 服务的代码在目录: 
Android-2.0/frameworks/base/cmds/installd 
installd服务是提供安装dex文件的服务。 

11、keystore 
service keystore /system/bin/keystore /data/misc/keystore 
user keystore 
group keystore 
socket keystore stream 666 
keystore服务的代码在目录: 
Android-2.0/frameworks/base/cmds/keystore 
keystore服务是加解密储存键值的服务。它主要作用就是验证应用程序与签名文件是否一致。 

(http://blog.csdn.net/yuleslie/article/details/6912168)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值