随着3G时代的来临,手机对嵌入式软件提出了更为严格的要求,而在嵌入式软件里边,尤其重要的是实时操作系统平台。与2G和2.5G的手机相比,无论从复杂度或实现上来说,3G手机都复杂的多。这就要求实时操作系统平台不仅要可靠、稳定,而且要容易使用,具备良好的电源管理、支持空中下载、完善的调电保护机制等,同时要非常容易地和第三方的上层应用软件集成等。随着手机中多CPU/DSP系统的增加,对分布式系统的支持也成为必然,这样客户就如在一个CPU里编程一样方便。

本文针对下一代手机对实时操作系统的要求,结合Enea公司的OSE RTOS做了一个分析介绍。2005年全球销售的2G/2.5G手机里15%使用Enea的OSE RTOS,WCDMA手机里40% -50%左右含有OSE RTOS;方案如爱立信、诺基亚、杰尔系统、英飞凌等;手机如:索爱、LG、NEC、夏普、三星、夏新、TCL等。

容易使用,维护成本少

软件的开发难易程度在很大程度上直接影响了产品开发的进度,同时软件的维护成本也极大地影响了系统的成本。

传统的操作系统都是基与邮箱、管道和队列来实现进程间的通讯的;对于一个固定大小的数据交换进程间通讯(IPC),开发者究竟是选择邮箱,管道,还是队列是一个比较复杂的问题,而且会不同程度的影响系统的性能(数据被两次复制);整个系统中可能会有数一万计的进程间通讯,所以对于一般的软件开发人员很难选择一个最优的方法。 同时传统的操作系统通过使用信号量等来实现同步,而信号量其固有的缺点:如死锁、优先级反转等都会造成系统的不稳定传统操作系统的出错处理都比较烦琐:例如有一万条内存分配语句,就会有一万条内存出错判断语句,这样会很大程度地增加代码的大小。

OSE操作系统是基于消息传递(Message-Passing)的体系结构,这使进程间通讯只需要通过消息(Message)就可非常容易的实现,而且数据是零拷贝的(只是指针发生变化),这样极大地提高了系统的性能。同时OSE的消息传递机制可用自动实现同步。OSE集中式的出错处理机制使系统的出错判断变得非常简单:如上边所说的有一万条内存分配的语句,OSE只需要一条集中式的出错判断就够了,而且这条语句会告诉用户什么地方出了什么错,是什么样的错误,这样极大地减少了系统的代码,提高了系统的性能。

电源管理

电源管理是衡量操作系统一个非常重要的参数,因为这会很大地影响最终手机的电池使用时间。一般的操作系统不提供或只提供一个非常简单的电源管理,而要求开发者自己来实现电源管理,这会使开发者专著于开发操作系统本该有的部分,而会延长整个系统的开发周期。

OSE提供的优化电源管理机制使客户专著于应用程序的开发,而且这种机制已经在数以亿计的手机里运行着。OSE内核自带的优化电源管理机制极大地提高了手机的电池使用寿命。通过OSE的电源管理机制检测后,客户可以根据需要进行不同程度的电源管理。

空中下载OTA:软件的动态热升级

空中下载OTA的功能越来越多地受到重视。现在大部分可以空中下载的都是独立与手机应用的JAVA程序。而Native的C应用程序运行速度快,而且不需要很多内存支持。所以实现Native的C应用程序下载是非常重要的。这样就对操作系统提出了挑战:空中不仅下载Native的C应用程序,而且要根据需要是否存入闪存里,以便下次手机启动时不需要重新下载。同时手机里原来的应用程序可能也需要在线升级,或移除原来不用的应用程序,而要求不影响手机的运行;这些需要都对操作系统提出了挑战。

到目前为止,只有OSE可以实现这样的功能。通过OSE的软件热升级模块,可以在线升级客户的应用程序,同时升级的应用可以根据需要放入闪存里。客户可以移除不需要的部分应用,而不影响系统的整体运行

只需NAND闪存的手机

由于手机的应用越来越多,对内存的需求越来越大。而传统的NOR闪存与NAND闪存比较起来具有价格高、体积大的特点。因此开发只需NAND闪存的手机就成为迫切的需要,而这就要求操作系统来提供这部分的功能。OSE通过开发的Demand Paging技术可以实现只需NAND闪存的手机。通过OSE的Demand Paging技术,客户可以只使用标准的NAND闪存来对软件进行存储和运行,极大地减少了系统成本。

安全的内存管理

内存的管理在任何的嵌入式系统里都特别重要,因为这会极大地影响系统的实时性和安全性。传统操作系统的动态内存分配都不同程度地影响了系统的实时性和安全性(有碎片)。为了实现分配的实时性和安全性,很多客户在传统操作系统之上做了一层,从而实现了类似的功能。OSE的内存分配是经过近二十年的无数的客户测试的安全的分配机制,使客户只专著与开发客户的应用。同时OSE的内存保护机制在手机里也是特有的,并且有八年的历史证明。

OSE的内存保护机制使手机的应用程序和系统程序分离,极大地提高了系统的安全性。OSE的动态内存分配机制,支持没有碎片的内存安全分配机制,同时极大地提高了内存的分配性能。

掉电保护

调电保护是非常明显的而且非常重要的手机特性。在现有的手机中,大部分客户都是根据需要自己做一定的保护机制。如果从整体考虑,操作系统的文件系统应该在此扮演很重要的角色,可是现实情况并非如此。

Enea在世界手机巨头的驱使下,实现了手机很好的掉电保护处理:通过OSE的Crash Safe Flash文件系统来进行保护,可以非常容易地对掉电进行保护处理。

 
Advertisements