论文部分内容阅读
随着Symbian的逐渐没落和Windows Mobile的退出市场,iOS、Android、Windows Phone逐渐成为智能手持设备操作系统市场的主角。作为其中之一的Android平台,在移动手持设备市场占有率一直居高不下,因为其免费开源的特性,无论是系统移植定制还是开发移动应用,Android平台都倍受终端研发人员的青睐。IPC(Inter-Process Communication)Binder通信是Android进程通信机制的核心,在整个Android系统中起着非常重要的作用,所以掌握IPC Binder通信,对整个Android系统Client和Server通信以及整个系统工作机制的理解有着非常重要意义,因此提出Android进程通信机制研究与应用这一课题。
本文通过对Android IPC通信机制深入透彻的分析,设计并实现了一个基于Android IPC机制的LED控制系统模块,旨在结合具体基于IPC的模块应用,清晰透彻的理解和掌握Android IPC Binder进程通信机制的工作原理。本文主要完成以下几个方面的工作:
1)解析Android的IPC机制Binder系统组成、其框架层次结构,以及其特性和工作原理,了解其相对传统IPC进程通信方式的优势;
2)具体分析和理解Binder驱动底层工作原理,分析其重要数据结构以及驱动接口的设计与实现;
3)深入分析Binder系统框架各层次的设计与实现,从系统垂直架构角度,对Android的IPC通讯过程进行分析;
4)开发并实现了一个基于Android IPC机制的模块应用-LED控制系统,包括应用层、Java框架层、JNI、C/C++本地框架、HAL,直到Linux内核驱动,以及涉及Binder系统使用的客户端和服务端实现。
最后,对LED控制系统进行性能测试和结果分析,依据结果对比Binder机制使用前后的性能改进,证明了Binder机制确实非常简单高效,耗CPU资源少,系统安全性高,是Android系统进程通信机制的首选。测试结果分析中也对Binder的使用情形进行了简要分析,并且对Android中IPC机制提出了相关改进建议,在对本文工作做出总结的同时也对后期的研究工作指明了方向。