论文部分内容阅读
通信机制作为操作系统中进程间的通信方式,其应用程序接口的易用程度、通信的效率以及通信过程中的安全机制直接影响到操作系统的开发方式、响应速度以及安全性。传统的Linux系统上的通信机制或要求通信双方有亲缘关系,或要求双方都对文件系统某路径具有读写权限,不能满足移动操作系统内每个应用运行在独立沙盒内的需求。作为新兴的嵌入式系统,安卓系统通过特殊设计的通信机制解决了这个难题,同时提供高效的通信效率以及可靠的身份鉴别。 以C++作为主要开发语言,研究如何在嵌入式linux上实现该通信机制。根据通信机制的要求实现驱动支持模块,实现进程与驱动通信以及客户端与服务端组件通信。驱动和用户空间通过引用机制和死亡通知机制对通信实体的生命周期进行管理。将客户端与服务端组件的通信框架按照面向对象原则进行设计,两者之间的通信接口采用远程过程调用的方式,简化编程接口的使用。同时为了避免通信过程中参数的不一致,设计专用的接口描述语言,并实现从接口描述语言到C++语言的接口动态生成工具。将通信代码的编写改为以接口为中心,围绕通信接口以及通信数据而展开。 系统中的各个实体之间按照交互的方式可以按照通信模式分为几类,在通信模式的控制下通信实体之间完成复杂的通信。实现常用的请求者-响应者通信模式以及发布者-订阅者通信模式。通过性能测试以及可靠性测试表明该实现具有较高的性能且稳定可靠。