原文: http://blogcn.symbian.org/?p=99
要了解Symbian OS,可能没有比从系统模型入手更好的了。它能够让你以最快的速度建立对Symbian OS的全局观念,从而有效地指导你对Symbian平台进行分解与研究。
系统模型是以可视方式表现Symbian OS结构的一种形式。不同的系统模型,显示了不同时期的Sybmian OS的内部组织结构。事实上,系统模型的设计会走到系统实现之前,是系统研发过程中所需要遵循的蓝图。
像多数负责的系统一样,Symbian OS系统模型建立在分层结构之上。它是通过如下四个级别的概念来进行描述的:
1. 层(Layer)
2. 包(Package)
3. 集(Collection)
4. 组件(Component)
其相互关系如图1所示:
图 1.系统模型结构图
即多个组件构成集,多个集构成包,多个包构成层。其中“包”是Symbian平台中实现一定技术的基本单位。例如remote management包实现了对OMA Device Management和Client Provisioning。每个包都“拥有”(Own)一定的技术;这意味对该技术的规划、开发与维护活动都是在该包进行的。每个包都有一个责任人,即 Package Owner (PO)。以后我们将会看到,所有对Symbian OS功能或技术的介绍都是基于包进行的。
Symbian OS包括如下三层:
- 应用层(application layer,简写为app)
- 中间件层(middleware layer,简写为mw)
- 操作系统层(os layer)
各层之间保持严格的单向静态依赖(调用)关系。这就意味着操作系统层中的组件不能调用中间件层和应用层的任何组件,而中间件层则不能调用应用层中的组件。当然,同属一层的组件或者包之间是可以相关依赖的。
通常系统模型以两种粒度显示,基于包的粗粒度模型和基于组件的细粒度模型。最新发布(到作者写本文为止)基于包的最新系统模型如下:
图 2.基于包的系统模型
(http://developer.symbian.org/downloads/system_models/foundationpkg_22-05-09.svg,请先登录)
从上图可以看出,整个Symbian OS共有106个包,其中app层39个,mw层46个,而os层21个。如果你是用IE打开的图2中的连接,那么当你的鼠标移动到每个方块上时,你都会看见关于每个包的简单介绍。
在图2中,我们可以看很每个方块都没涂成不同的颜色,这些不同颜色表示它所属的技术领域(Technology Domain)。
由图2可知,现在的Symbian OS包含了13个技术领域,分别是:
- Data Communications
- Device Connectivity
- Device Management
- Location
- Multimedia
- Multimedia Applications
- OS Base Services
- Personal Communications
- Productivity
- Runtimes and Web
- Security
- Tools
- User Interface
值得注意的是,技术领域是可以跨越不同层(Layer)的。例如Device Connectivity技术领域(图2中粉红色部分)就跨了所有层,ShortLink Service位于os层,Printing在app层,而其他的都在mw层。
下面是对每个技术领域的简单说明:
- Data Communications:包含了基于IP连接的数据通信的关键技术,例如WLAN支持、无线连接管理、相关界面、IP核心协议栈、通信框架、SIP,RTP已经高层IP协议等。
- Device Connectivity:包含了有线及无线短距离连接支持(如蓝牙、USB以及WLAN),相关的配置,及能使手机成为PC外设或者其他移动设备(如数码相机)的主设备的相关应用程序和底层支持技术。
- Device Management:包含了能让远程服务器管理手机配置和内容的相关技术;主要是OMA 相关协议的实现,例如OMA Client Provisioning,OMA Device Management,OMA FUMO, OMA SCOMO等。
- Location:包含基于位置服务(Location-Based Services ,LBS)的相关技术。
- Multimedia:包含了所有多媒体应用程序所要求的支撑技术,例如使用及编辑音频、视频、图片、摄像头以及广播多媒体(即电视和广播)。
- Multimedia Applications:包含了手机终端用户所使用的多媒体应用程序,例如音乐播放器、调频收音机、录音机、摄像头捕捉、视频与电视管理、视频播放、图片浏览器等。
- OS Base Services:包含了Symbian OS作为一个操作系统的基础技术,例如系统内核、文件系统、设备驱动器、数据库管理系统等。
- Personal Communications:包含直接与语音或视频通信相关的技术,例如蜂窝技术、视频通话技术等。
- Productivity:包含了手机中日常使用的基于文字通信的主要技术能,例如电子邮件、电话本、字典、短信和彩信等。
- Runtimes and Web:包含了应用程序安装技术、XML、Java以及Web相关技术。
- Security:包含了为应用程序提供安全服务的相关技术,例如操作系统平台安全技术、DRM、证书相关的安全技术等。
- Tools:包含了基于Symbian OS进行程序开发的相关工具,例如Application Development Tools (ADT)、Platform Development Tools (PDT)、Carbide Development kit (CDK)、System Kit等
- User Interface:包含了用户界面相关是几乎,例如UI框架、可视化的控件、窗口技术、动画、绘图(2D、3D以及SVG),文字及字体渲染、输入法、触摸屏处理、传感器处理、显示技术等。
你可以从如下两个链接获得关于技术领域(以及它们所包含的包)和系统模型的更加详细的信息:http://developer.symbian.org/main/source/technology_domains/index.php