转
软件架构简介
对于一个有许多子系统的复杂系统,在把子系统组织成完整的系统时,有水平层次组织和垂直块组织两种方案可供选择:
1层次组织
这种组织方案把软件系统组织成一个层次系统,每层是一个子系统。上层在下层的基础上建立,下层为实现上层功能而提供必要的服务。在上下层之间存在客户-供应商关系。底层子系统提供服务,相当于供应商,上层子系统使用下层提供的服务,相当于客户。
2块状组织
这种组织方案把软件系统垂直地分解成若干个相对独立的、弱耦合的子系统,一个子系统相当于一块,每块提供一种类型的服务。
当混合使用层次结构和块状结构时,同一层次可以由若干块组成,同一块也可以分为若干层。
嵌入式手机系统的软件是以嵌入式实时操作系统,为核心,以消息为纽带的软件系统,软件系统的基本架构如图所示:
MMI:
MMI(Man Machine Interface)在整个软件体系结构的最上层,通常是一个单独的TASK,主要实现人机交互功能,即解释用户的各种命令并发消息到相应的处理模块等待系统处理;同时将系统接收到的各种消息或系统所处的状态以友好的方式反馈给用户。
MMI可以看作是手机系统功能级的调度管理中心,对手机的各个模块和部件的调度管理通过发送相应的消息、宏和系统调用实现。
手机开发主要的工作集中在MMI。
Service:
Service是在MMI和Protocol之间的中间层,给MMI提供各功能,如通话服务、短消息服务和WAP等封装过的接口函数,实现业务功能和交互的解耦,便于MMI的修改和移植。
在这层各功能都拥有自己的TASK,如call、phonebook和sms等。
Handle:
Handle是在MMI和Driver之间的中间层,给MMI提供各功能,如播放音乐、
LCD显示、照相和录像等功能,实现业务功能和交互的解耦,便于MMI的修改和移植。
在这层各功能都拥有自己的TASK,如audio、camera和video等。
Protocol:
主要包括GSM/GPRS/WCDMA/CDMA等协议代码,按协议对数据进行编解码的处理,是实现各业务功能的核心模块。
Driver:
主要包括和硬件相关联的代码,驱动硬件实现具体功能。
RTOS:
指实时嵌入式操作系统。