Android Vold(Volume Daemon)
负责大容量存储设备挂载和删除的守护进程。
服务在init.rc中被开启:
本文主要分为两个部分:
·Vold 的架构分析
·Vold的功能总结
1.Vold的架构分析
Android Vold ,一方面负责接受内核发送的关于外部存储设备加载和删除的信息,然后将信息发送给framework层的MountService;另一方面负责执行MountService发送的命令。
这些cmd和mes的传递主要是通过Socket通信来实现(Socket的通信的具体细节这里不再赘述)。
下面从代码的角度简要分析这一过程的实现:
1.1在vold.c中,首先建立和framework层的通信:
|
其中,VOLD_SOCKET在init进程中创建,android_get_control_socket()主要是获取VOLD_SOCKET