android存储相关Vold总结
来源:互联网 发布:开通淘宝客的条件 编辑:程序博客网 时间:2024/06/04 23:12
转载请注明出处:http://blog.csdn.net/droyon/article/details/45154991
Vold进程中包含三大块,CommandListener,VolumeManager,NetlinkManager。
1、CommandLinstener是MountService与VolumeManager的中介。负责命令的上传下达。内部使用socket用于跨进程通信。作为socket的服务端,MountService作为客户端。接收MountService的控制指令,将VolumeManager的上报消息传送给MountService。
2、VolumeManager,接收来自NetlinkManager发过来的uevent事件,进行相应处理后,通过CommandListener发送给MountService,MountService接收信息后,会继续下发控制指令给VolumeManager做继续处理。例如:底层接收到sd插入的uevent事件,VolumeManager发给MountService,MountService继续下发挂载指令等等。
3、NetlinkManager接收来自kernel内核的uevent事件,sd卡挂载、格式化等操作,kernel向NetlinkManager发送uevent事件。NetlinkManager会将消息传递给VolumeManager做继续处理。
kernel在以下两种情形下发送Uevent事件:
1、当设备发生变化时。设备的插入和拔出,例如sd卡的插入或者usb外置存储设备的插入,像otg等。这种情况是由设备主动触发的。
2、相应的存储设备在sys下一般存在“设备文件”,直接或者间接的操作设备文件,改变设备文件中的内容,都会触发kernel发送和该设备相关的Uevent消息。
ps:Netlink是Linux系统中用户空间和kernel进行通信的一种机制,其复用socket的相关接口,用户接收来自kernel的一些信息,同时向kernel发送相应指令。
- android存储相关Vold总结
- Android存储子系统流程--vold
- Android 存储设备管理 -- Vold
- android vold:图解VOLD
- Android VOLD
- Android vold
- android vold
- Android Vold
- Android 存储设备管理 -- Vold处理内核消息
- android之VOLD:staging目录作用与ASEC文件 -总结
- android之VOLD:staging目录作用与ASEC文件 -总结
- android之VOLD:staging目录作用与ASEC文件 -总结
- ANDROID中的VOLD分析
- Android vold浅析
- Android VOLD 分析
- Vold 2.0 ---- Android-2.3
- android 2.2 vold
- Android 2.1 Vold 分析
- 城曲
- CSS3 Flexbox可视化指南
- 破Laravel白屏问题
- C语言函数调用参数压栈的相关问题
- 汇编语言基础知识学习笔记(二)
- android存储相关Vold总结
- Linux进程间通信--shmget()共享内存(一)
- Leetcode13: Remove Duplicates from Sorted Array
- Linux进程间通信--内存映射
- UPnP 事件触发 Eventing
- 搜索中的转弯问题
- 网上某位牛人的deep learning学习笔记汇总
- 线程池的原理和实现
- 迅雷与迅雷看看播放器使用体验(二)