互动式内容对手机系统的要求越来越复杂,每个任务都要求有足够的灵活性和多种功能,并使用少的存储器、处理器和电池,同时具有存储器保护。其实硬件方面的需求可由各种智能软件来弥补,本文讨论成功的手机设计必须考虑的七个要素,并介绍OSE操作系统如何满足这些要求。
互动内容能使当前的许多手机公司走出困境。据Forrester调查公司数据显示,1999年欧洲在网络、手机和邮寄等方面的通讯花费了总共约1,010亿欧元,他们的一份研究报告也特别强调了新的互动式内容将产生巨大的商机。例如Frost & Sullivan公司就把未来的利润增长寄希望于手机游戏,并预计到2008年将有1.7亿手机游戏用户。
但互动式内容对手机系统的要求非常复杂,幸好硬件方面有些限制可由一些智能软件来弥补。下面我们将介绍保证手机通信系统开发设计成功必须考虑的七个要素。
要素1:通用平台
为了控制产品成本,同时保护长期开发投资,在不同的手机型号中使用通用基础平台是个非常理想的方案。3G手机中的软硬件平台就如同汽车的底盘,通常不同的汽车都使用相同的汽车底盘,而手机应用软件可比作汽车的其它特性,如空调、电子天窗、双气囊等。3G手机可以同一平台为基础,让不同的应用软件在其上面运行。
手机制造商针对不同的客户群设计手机,从低端到高端产品种类繁多。因为存储器配置不同和CPU扩展不同,各种终端的3G平台可能不完全相同,例如只有语音功能的手机和多媒体手机终端就有所区别。然而,基础设计和体系结构总可重复使用于各种应用软件,其中的节省是系统软件的可复用性,如多种硬件配置中的电话协议、基带软件、通话控制系统、语音编解码等。
要素2:可随时进行程序更新及装载
3G特性里重要的一点是可以随时更新电话里的软件,因而给制造商和终端用户都带来了极大的灵活性,硬件和操作系统平台必须支持在运行时安装/卸载程序。各种手机,无论是何种用途、安装了什么应用软件,都应具备升级功能。制造商在生产过程中任何阶段,都能将软件升级到版本,即使到后期制造阶段,甚至产品已经出厂。
对用户来说,购买新的应用程序安装到原来的系统中,相当于拥有了另外一个新的手机。未来的手机将会有更多新的用途,如电话、PDA或者其它许多现在还未想到的用途,B2B应用软件也一定会在手机市场上出现。
要素3:经济地使用存储器
对于3G手机来说,节省存储器是成本控制里重要的因素。为了弥补存储器容量的不足,对手机软件特别是平台软件的要求不断提高。操作系统本身必须紧凑及模块化,并且具有很高的可配置性,里面的模块能够根据功能需要加以裁剪。每个部件都应该提供几种配置选项,依据不同功能和尺寸要求调节部件。在运行时,操作系统应尽可能地少用RAM,这可以通过限制使用缓存及配合使用先进的存储器管理来达到。若所有的操作系统部件都能在RAM或Flash之外运行,将大大减少RAM的使用。共享函数库也是一种节约存储空间的好方法,它允许多个应用程序用不同的数据来运行同一段程序。采用共享函数库方法时,可能会对保持实时操作系统的实时性造成一定困难。
要素4:在分布式系统中保持透明
3G终端是个典型的多处理器设计,应用程序被分配到CPU和DSP上共同运行,因而效率非常高。使用标准化实时操作系统,同时又支持通用型CPU和DSP,可以限度地让软件在不同硬件配置中重复利用。一个同样的系统软件,例如通话协议软件,无论在一个或多个处理器上运行,还是分别或同时使用数字信号处理器,如果操作系统具有通用应用程序接口(API),使CPU之上的通信完全透明,且CPU内部细节不可见,那么应用程序就可轻松地从一个CPU移植到另一个CPU上,不需要或多只做微小的修改即可(图1)。
要素5:可靠的服务
对于3G手机,什么是主要的应用呢?与2G手机类似,语音通信总是重要的,成功的手机其通话功能必须非常可靠,连接迅速并极少失败,几乎从不断话等等。有一些方法可以保证系统的稳定性。在实时操作系统内核中进行错误处理,把错误和错误处理分开。在OSE的调用处理中,不返回错误编码,相反,只要从系统调用中得到任何返回,应用程序都认为本次调用已经成功完成。若调用失败,控制权被转到错误处理程序中,并附带一个错误码作为标识。接着,错误处理程序将采取适当的动作,比如执行另一个系统调用,通知其它的应用程序或重启动应用程序等(图2)。
OSE机制对任务、程序、应用和整个手机的管理在单CPU和分布式环境下非常有效。应用程序A可以要求管理应用程序B,如果由于某些原因,应用程序B不存在,则应用程序A会得到一条自动提示信息,然后A可以据此做出合适的动作,如把通信重定向到程序C。OSE提供了一种叫做应用程序搜寻的机制,处理搜寻请求时,操作系统内核会在应用程序就绪的同时发送该应用的标识号(任务ID)。
存储器保护用来避免内存冲突时系统崩溃。手机中的某些程序,如通话协议软件,是不能瘫痪的。由于3G手机比现在的手机拥有更多应用软件,所以也更容易出现问题。应用程序崩溃将带来很多问题,如果一个应用程序出错导致其它应用程序甚至系统崩溃,那将是令人不能接受的。在下一代手机中,系统软件将有更高的可靠性要求,并需要与游戏等相对不太严格的软件共存。运行时安装的程序需要有存储器保护,更重要的是,要保护系统免受下载程序的潜在危险。因此,OSE中集成进了相应的存储管理和保护软件。
要素6:组合存储模型
为手机选择存储器管理方法时必须非常谨慎,将下面三种不同存储器寻址方法组合可以提供一套有效的管理方案,即单地址空间相等(SASE)、单地址空间(SAS)和多地址空间(MAS)。MAS是目前虚拟存储系统中普遍使用的方法和技术,多数桌面操作系统(如Solaris、Linux、NT)都使用这种方法。然而,在需要高性能处理器和少量存储器的实时系统中,MAS存在很多缺点。通过对SASE、SAS和MAS组合,可把每一种寻址方式对不同代码和数据类型的优点结合在一起,其中MAS只在需要的情况下使用,这样加速了程序的执行速度并可提供的实时性能。
要素7:使功耗尽可能低
手机终端主要成功要素还包括持久的待机时间和操作时间。但无论对功耗的要求如何,即使在频率下,也仍然要保证CPU和DSP能够工作。手机应用软件也应减少功耗,在可能的情况下,应允许关闭应用程序以节省功耗。
不管模块是否被直接调用,所有模块的功耗都应尽量降低,输入/输出模块应能被关闭,处理器也应能切换到节电模式。但是在很多情况下,关闭某些模块反而会带来更多时间和能量的耗费,因此对模块断电并不总是的方法。所以用户程序必须知道各个模块应怎样控制才能达到功耗状态,只有当指定的条件被满足时,模块才切换到节电模式。