无线信息设计在通用操作系统EPOC

2006-05-07 15:50:14来源: 互联网

无线信息设备操作系统EPOC。说明其具有高效的内核处理机制、高可靠性、灵活的程序开发方法、丰富的通信协议支持。

随着数据通信的发展和无线网络的完善,无线数据通信的速度也不断提高。因此,为们对于手机的要求已不只是具有语音能力,要求提供良好数据服务的呼声越来越高。无线信息设备(wirless information device)就是在这种形式下产生的一种集手机和PDA功能为一体的新型手持设备。它不仅具有移动电话的全部特点,而且支持PDA的功能,如文件处理、电子邮件、与PC机数据同步、记事本以及多媒体等。这类设备型号多样,更新迅速,既能接入公用无线通信网,又可与其他设备互联,满足了各层次用户的不同需要,是未来几年无线信息产品的发展趋势。

无线信息设备的内存、电池和CPU计算能力都比较有限,因此,对于所采用的操作系统具有特殊的要求:操作系统占用内存要尽量少,并且支持高效的多任务及进程间通信机制;具有有效的电源管理功能,适合利用电池供电;采用面向对象的设计方法,软件程序代码具有良好的可重用性;提供友好的图形用户界面;确保用户数据安全可靠地存储;支持多种标准通信协议,以便接入国际互联网和与其他设备互连;最好能提供开放的应用程序平台,便于第三方软件开发商提供多样的应用程序。

为开发一种适用于无线信息设备的通用操作系统,诺基亚、爱立信、摩托罗拉和Psion公司在1998年成立了一个联合企业Symbian,而后又有松下、西门子、三洋等公司加入。EPOC是1999年由Symbian宣布的32位操作系统,并在其后得到不断完善。现在,许多商用无线信息设备都采用EPOC作为操作系统,如诺基亚的9210以及爱立信的R380、MC218等。

一、EPOC操作系统简介

EPOC采用基于静态优先级的抢先式多任务机制并且配合时间片轮转,构成简捷、高效的核心,支持强大的通信及多媒体功能。Symbian公司在提供EPOC操作系统的同时, 针对无线信息设备的不同市场需求还推出两类设备参考模型(device family reference design)[1];Communicator和Smartphone。前者是以数据处理为主,以传统话务功能为辅;后者则恰好相反。Communicator包括Crystal和Quartz两种模型,Smartphone只有一种模型Pearl,如图1所示。由于每种模型都包括了基本的硬件和常用的应用程序软件,因此,无线信息设备厂商可以在此基础上集中精力开发附加的特有软硬件,从而缩短产品开发周期,加快成品推向市场的速度。

EPOC操作系统的主要特点:

*高可靠性。具有高效电源管理机,而且即使在电池耗尽的情况下,也能确保不丢失任何用户数据。由于采用特殊的编程规范,可以有效地管理系统内存资源的分配和回收,不会壬内存的泄漏。因此,以EPOC为操作系统的设备可连续运行多年而不需重新启动,这也是对无线信息设备的基本要求。

*采用面向对象的设计和编程,程序代码具有很好的可重用性。EPOC提供各种常用的32位应用程序接口函数,而且具有图形用户界面编程框架,可以方便地创建用户应用程序。系统支持Unicode,容易进行本地化。

*提供多种通信协议。支持标准的国际互联网通信协议(TCP/IP、PPP、Telnel、HTTP),电子邮件协议(POP3、SMTP、IMAP4);提供GPRS、WAP等标准协议栈;具有蓝牙协议模块,增强了与其他设备的互连性;可以通过电缆或红外与PC机相连,进行数据同步和备份。

*参考模型的硬件配置充分考虑了无线信息设备的未来需求。采用ARM系列RISC处理器,具有较强的处理能力。利用ROM进行永久程序存储,并可通过外加快闪存储卡来扩展系统存储量。支持高分辨率彩色显示、触摸屏和笔输入,具有多媒体功能。

二、EPOC系统结构

EPOC操作系统采用模块化分层结构,其系统由许多模块组成。不同模块完成不同的功能,大的模块又分为几个组件。这种模块在保证整体结构紧凑的基础上,减弱了不同软件模块之间的依赖性,使得系统易于扩充。

EPOC系统有4个最主要的组成部分,如图2所示。

1.内核

内核是整个操作系统的核心部分,在处理器特权级执行,其他模块运行在用户级。内核还包括硬件设备驱动,负责最基本的操作系统功能,包括电源管理、内存管理、进程管理和必需的文件管理。内核通过底层函数库为执行在用户级的应用程序提供服务。由于采用ARM系列RISC处理器,EPOC利用二级页表机制进行寻址,为每个应用程序提供虚拟地址空间,以加快上下文切换速度。抢先式多任务机制允许多个自己的线程,同一进程中的多个线程能共享内存资源。系统调试时高优先级进程比优先级进程先得到CPU资源,相同优先级的进程按时间片轮转法分享CPU资源。

2.应用程序

应用程序可以直接和用户进行交互。每个应用程序是单独的进程,拥有自己的虚拟地址空间。

3.管理程序

EPOC系统采用客户/服务器形式来简化并获得高效的进程间通信。管理程序是不直接与用户交互的程序。它管理一个或多个系统资源,执行服务器的功能,通过API函数为客户提供服务。其客户可以是应用程序或其他的管理器。

文件管理器、窗口管理器和通信管理器是EPOC系统中最主要的管理程序。文件管理器负责文件处理,窗口管理器是EPOC高效率事件处理机制的核心,通信管理器提供了对多种通信协议的支持。在EPOC系统中,每个应用程序和管理程序都是独立的事件处理线程。窗口管理器负责提供用户、用户程序和操作系统内核间的事件传递。按键、笔等输入事件先传给窗口管理器,由它将事件发送给应用程序。应用程序完成相应的事件处理后,通知窗口管理器,并由窗口管理器负责处理应用程序的屏幕重画请求。事件处理过程如图3所示。通信管理器分为串行通信管理器、管道管理器和电话应用管理器三个部分。串行通信器提供串行通信的支持;管道管理器利用通用的管理机制支持TCP/IP、短信息数据包、红外数据接口;电话应用管理器提供与GSM电话及调制解调器相关的接口功能。

4.引擎

引擎是应用程序的一部分,负责应用程序数据的后台处理,而不与用户直接交互。EPOC操作系统中的程序均可分为应用程序和引擎两部分。引擎可以是单独的源文件模块、独立的动态链接库(DLL)或多个动态链接库。操作系统提供了一些常用的引擎,用户可以针对特殊的需要开发专用引擎。

三、EPOC应用程序开发设计

EPOC支持多种编程语言,为开发者提供了充分的选择空间,其中C++和Java应用得最为广泛。EPOC开发工具套件中提供了集成有EPOC内核的模拟器,可运行在Win9x和WinNT上,并通过调用Windows系统的设备驱动程序,对EPOC的目标机硬件进行仿真,实现EPOC程序的模拟运行。EPOC应用程序开发的大致过程如图4所示[2]。先利用Visual C++编译器将EPOC源程序编译成x86的可执行代码,采用模拟器在PC机上进行调试;而后经GNUC++把源程序重新编译成目标机的可执行代码,并拷贝到EPOC设备上,进行实现测试。模拟器的采用使得在目标机硬件不具备时就可进行高层软件的开发,因此加快了程序开发的进程,节省了开发时间。应用程序在模拟调试后,一般都能在目标机上正常运行;但是模拟器不能模拟真正目标机的硬件时序,因此,不适合用模拟方法开发需要严格时序逻辑的程序,也不支持多个任务的同时调试。

由于EPOC操作系统本身是由C++编写的,因此,用C++去开发应用可以获得操作系统最充分的支持,使应用软件更加灵活。EPOC C++编程分为两种;E32编程和Uikon编程。前者采用较为传统的方法进行编程,通过调用系统API函数来完成各种功能,能灵活地实现各种底层操作。因此,系统中的硬件驱动程序以及后台应用程序一般采用此类编程。Uikon是一套完整的应用程序框架,主要用于开基于图形用户界面的应用程序。该框架一般由应用程序(application)、应用程序界面(AppUI)、文档(document)、视图(view)四个类构成。EPOC具有完善的类继承体体系,提供了丰富的类库,可以方便快捷地创建应用程序。

鉴于无线信息设备的特殊性,EPOC编程具有一些独到之处,形成了自己的规范。

首先,提供了与内存分配相关的出错处理机制。如果应用程序有一系列内存申请的连续操作,其中任何一些出现内存分配失败,都需要在出错处理程序中释放所有在这些之前已成功分配的内存,以确保系统内存的正确回收。因此,编程为员在开发出错处理程序时,要充分考虑应用程序中的内存使用状况,防止内存泄漏的发生。为了更有效地管理内存的分配和回收,简化编程工作,EPOC提供了Eleave标识和Cleanup栈。从堆中分配指针的,以Eleave作为指针标识,指针分配成功后将其压入Cleanup栈。如果此指针指向的对象在程序后续处理中出现申请内存的失败,系统会自动释放栈中指针指向的所有内存,并在程序调用PopAndDestroy函数时删除此指针,保证内存的有效回收。

其次,类的两步构造。标准的C++构造函数是在类的对象实例创建时自动调用的,因此,不可靠将其中申请的指针入入Cleanup栈中。如果类创建失败,在构造函数中分配的内存也就无法被操作系统回收。由于无线信息设备是常年连续运行而不重新启动的,因此内存的泄漏会不断积累,最终导致严重的后果。为解决这一问题,EPOC提出类的创建分两步进行:第一步是按照C++本身的特性自动运行构造函数,但是在构造函数中,不进行从堆中申请内存的操作;第二步是调用含有内存请求的类创建函数ConstructL,在ConstructL中采用EPOC的内存分配出错处理机制。这样的设计可以增强系统的稳定性。

    最后,采用资源定义文件。EPOC将系统及应用程序菜单、按钮、对话框等的定义放在资源定义文件中。这样做有两个好处:第一,开发过程中如果只改变菜单等的显示字符串,而不修改资源文件的结构,系统无需进行重新编译,若省时间;第二,有利于本地化。EPOC支持Unicode,在进行本地化时无需在源程序中搜索并修改显示字符串,而只需翻译资源定义文件即可。这样不仅简化了本地化的工作量,而且可以避免修改源程序时可以造成的其他部分代码的无意破坏。

结束语

以上从系统构成及应用程序设计开发角度介绍了EPOC操作系统,说明它具有高效的内核处理机制、高度的可靠性、灵活的程序开发方法、丰富的通信协议支持,充分满足了无线信号设备的特定要求。随着无线通信从第2代向2.5代的过渡,以及第3代移动通信的最终实现,无线信息设备必将拥有广阔的市场前景。EPOC作为为其量身定制的操作系统也一定会得到广泛的应用。

关键字:无线  信息  信息设计  设计

编辑: 引用地址:http://www.eeworld.com.cn/wltx/RFID/200605/2394.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
无线
信息
信息设计
设计

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved