Android磁盘管理系列之系统源码分析(1)
来源:互联网 发布:电商源码模板 编辑:程序博客网 时间:2024/06/16 15:53
本系列文章,将会详细讲解Android系统的磁盘管理部分,可以通过这个突破口,熟悉整个Android的系统架构与实现原理。
Android磁盘管理总共涉及到四大部分源码:
1.Linux kernel: Android建立在Linux内核的基础上,最底层的部分是由Linux kernel来负责的,用于检测热插拔事件;
2.Vold:Android没有使用Linux平台下的udev来处理,于是Google写了一个类似udev功能的vold,充当了kernel与framework之间的桥梁;
3.Framework:Android的核心框架,(仅仅磁盘管理这部分)负责操作vold,给vold下发操作命令;
4.UI:Androidd的系统应用,与Framework进行交互,用于挂载/卸载SD卡。
Android挂载SD卡,流程如下:
1.用户在“设置”页面的“SD卡和手机内存”中,点击“挂载”;
2.UI从Framework获取操作磁盘的函数(向Framework注册,才能使用的函数),然后调用挂载的处理函数;
3.该处理函数通过广播机制发送挂载命令“volume mount sdcard”,vold接受命令并挂载SD卡后,用广播通知Framework;
4.Framework收到挂载SD卡的回复,通知UI的处理结果;
5.界面显示挂载成功/挂载失败。
从这里可以看出,Android的磁盘管理涉及到整个系统框架,这是Android系统很重要的一个子系统,通过磁盘管理的子系统来熟悉Android系统架构,能够了解到Android的多方面知识。从SD卡的挂载流程可以看出,Android系统大量地使用IPC,从而做到了模块独立的效果。从磁盘管理的那四大部分来看,四个部分之间的相互联系均是使用socket进行通信,没有使用到传统的API调用,整个系统就显得非常的独立。
源码的位置:
Vold:system/vold
Framework: frameworks/base/services/java/com/android/server
UI: android-2.2r2/packages/apps/Settings/src/com/android/settings/deviceinfo/
Android磁盘管理总共涉及到四大部分源码:
1.Linux kernel: Android建立在Linux内核的基础上,最底层的部分是由Linux kernel来负责的,用于检测热插拔事件;
2.Vold:Android没有使用Linux平台下的udev来处理,于是Google写了一个类似udev功能的vold,充当了kernel与framework之间的桥梁;
3.Framework:Android的核心框架,(仅仅磁盘管理这部分)负责操作vold,给vold下发操作命令;
4.UI:Androidd的系统应用,与Framework进行交互,用于挂载/卸载SD卡。
Android挂载SD卡,流程如下:
1.用户在“设置”页面的“SD卡和手机内存”中,点击“挂载”;
2.UI从Framework获取操作磁盘的函数(向Framework注册,才能使用的函数),然后调用挂载的处理函数;
3.该处理函数通过广播机制发送挂载命令“volume mount sdcard”,vold接受命令并挂载SD卡后,用广播通知Framework;
4.Framework收到挂载SD卡的回复,通知UI的处理结果;
5.界面显示挂载成功/挂载失败。
从这里可以看出,Android的磁盘管理涉及到整个系统框架,这是Android系统很重要的一个子系统,通过磁盘管理的子系统来熟悉Android系统架构,能够了解到Android的多方面知识。从SD卡的挂载流程可以看出,Android系统大量地使用IPC,从而做到了模块独立的效果。从磁盘管理的那四大部分来看,四个部分之间的相互联系均是使用socket进行通信,没有使用到传统的API调用,整个系统就显得非常的独立。
源码的位置:
Vold:system/vold
Framework: frameworks/base/services/java/com/android/server
UI: android-2.2r2/packages/apps/Settings/src/com/android/settings/deviceinfo/
下篇文章开始分析源码,从下往上走。。
原文:http://blog.csdn.net/gzshun/article/details/7096763
- Android磁盘管理系列之系统源码分析(1)
- Android磁盘管理-系统源码分析(1)
- Android磁盘管理-系统源码分析(1)
- Android磁盘管理-系统源码分析(1)
- Android磁盘管理-系统源码分析(1)
- Android磁盘管理-系统源码分析(1)
- Android磁盘管理系列之vold源码分析(3)
- Android磁盘管理系列之vold源码分析(2)
- Android磁盘管理-系统源码分析
- Android磁盘管理-之vold源码分析
- Android磁盘管理-之vold源码分析
- Android磁盘管理-之vold源码分析(2)
- Android磁盘管理-之vold源码分析(3)
- Android磁盘管理-之vold源码分析(4)
- Android磁盘管理-之vold源码分析(2)
- Android磁盘管理-之vold源码分析(3)
- Android磁盘管理-之vold源码分析(4)
- Android磁盘管理-之vold源码分析(3)
- oracle 学习开发笔记
- Quartz
- Android磁盘管理系列之vold源码分析(2)
- NC 列表下表头多值更新刷新问题
- 企业信息化效果
- Android磁盘管理系列之系统源码分析(1)
- Delphi 操作Ini文件
- Spring+Struts2整合
- 高性能计算与高性能计算机讲座笔记
- Quartz定时任务学习
- 黑马程序员----加载配置文件和通过内省方式操作javabean总结
- Java设计模式之——享元模式
- 中兴V880拆机教程
- ISTQB AL-TA/TTA连载系列22:脚本化测试不一定是一个好的测试实践