Symbian
Symbian,塞班操作系统,是塞班公司为手机而设计的操作系统,被Nokia收购之后,将其移转到塞班基金会(Symbian Foundation),以开放源代码的形式释出。
- 开发商:塞班基金会(Symbian Foundation)
- 官方网站:http://www.symbian.org/
- 操作系统家族:嵌入式操作系统
- 构成编程语言:C++
- 源码模式:开放源代码
- 最初发布日期:1998年
- 最新稳定版本:Symbian 3 平台 / 2010年4月27日
- 支持的语言:多语种
- 支持平台:ARM (can be emulated on x86 architecture)
- 内核类:微内核
- 默认用户界面:S60, UIQ, MOAP
- 授权条款:EPL
概览
Symbian的前身是Psion的EPOC,并且独占式的运行于ARM处理器。包含由塞班公司所提供的相关的函数库(libraries)、用户界面(user interface)架构和共用工具(common tools)的参考实现(reference implementation)。
在2008年6月以前,Symbian被爱立信、Panasonic、西门子、诺基亚和索尼爱立信几家公司所共有。虽然明基(BenQ)取得了西门子的手机部门,但是需要塞班监督委员会的同意,所以西门子的Symbian使用权并没有转移到明基。
2008年6月24日,Nokia宣布,该公司将收购塞班公司当时尚不属于Nokia的52%股份,并将会把Symbian平台完全依据Eclipse开放源代码授权条款释出。Nokia也宣布将成立“塞班基金会”,让各家手机厂商和软件供应商能够加入这个联盟。2008年12月2日,诺基亚宣布完成对塞班的收购。2009年2月1日,塞班职员正式成为诺基亚员工。
设计
以Symbian操作系统为基础的智能手机的用户界面有许多种,包括开放平台像UIQ、诺基亚的S60、S80、S90系列和封闭式平台像 NTT DoCoMo 的FOMA。这样的适应性使得使用Symbian操作系统的智能手机形成多变的型态(例如折叠式、直板式、键盘输入或是触摸笔输入等)。
Symbian是以EPOC为基础,而它的架构于许多桌面型操作系统相似,它包含先占式多任务、多线程和存储器保护。 Symbian的最大优势是在于它是为便携式设备而设计,而在有限的资源下,可以运行数月甚至数年。而这要归功于节省存储器、使用Symbian风格的编程理念和清除堆栈。将这些功能与其他技术搭配使用,会使存储器使用量降低且存储器泄漏量极少。类似技术也运用于节省软盘(尽管在塞班设备中,硬盘通常指闪存)和存储卡使用空间。
而且,Symbian的编程是使用事件驱动,当应用程序没有处理事件时,CPU会被关闭。这是通过一种叫主动式对象的编程理念实现的。正确的使用这些技术将能够延长电池使用时间。这些技术让Symbian的C++变得非常专业,并有着过陡的学习曲线。然而,许多Symbian的设备也可以利用OPL、Python、Visual Basic、Simkin以及Perl来搭配J2ME和自行开发的Java来使用。
架构
最低级的Symbian的基本组成成份包含内核(EKA1或EKA2),允许用户的应用程序沿着用户数据库去要求内核内的东西。
Symbian有个微内核架构,这定义了内核内部所必需的最少功能。微内核架构包含调度系统和存储器管理,但不包含网络和文件系统支持。这些用来提供给用户端服务器(user-side server)。基本层则包含文件服务器,它在设备内提供类似DOS的显示模式(每个磁盘驱动器有个代号,反斜线当作目录定义符号)。
Symbian支持数种不同的文件系统,包含FAT以及Symbian专有的文件系统,而文件系统一般是不会在手机上显示出来。在基本之上的是可供选择的系统数据库,而这提供了该设备的市场定位,数据库的内容包含像是字符转换表、数据库管理系统和文件资源管理。
此外,在此有一个很庞大的网络及通信子系统,这含有三个主要的服务,分别是ETEL(EPOC telephony)、ESOCK(EPOC协议)及C32(串行通信回应)。每个服务都有模块化方案。例如ESOCK允许不同的‘.PRT’通信协议模块,实现了不同方式的网络通信协议方案,像是蓝牙、红外线及USB等。 这也有一个庞大的用户界面码。即使使用他人制造的用户界面,除了某些相关服务(例如 View Server 提供手机间的用户界面转换)以外,基本的类和子结构(UIKON)的所有用户界面都会出现在Symbian操作系统。而这里也有很多相关的绘图码,就像是视窗服务和字体与位图服务。
应用程序架构提供标准的应用程序种类、链接和文件数据辨识。它也有可选择的应用程序引擎给予智能手机的基本程序,像行事历、电话簿等。通常典型的Symbian操作系统的应用程序是分散到各个DLL引擎和图型化程序,程序就像是包装纸把DLL引擎包装在一起。Symbian也提供了一些DLL引擎使程序运用。
当然,有很多东西并没有一起放入设备内,像是SyncML,Java ME 提供另一组应用程序接口给操作系统及多媒体应用。要注意的是这些都只是framework,程序开发者要能够获得从协力厂商提供framework的插件支持(例如RealPlayer使用多媒体解码器)。这提供了应用程序接口在不同型号的手机可以正常使用的优势,而软件开发人员得到更多弹性,但是手机制造商就需要很多的综合成品来制造使用Symbian操作系统的手机。
Symbian操作系统的设备制造商也提供名为TechView的用户界面示例层。这与 Psion 5 系列的 Personal Organiser 感觉非常相似,所以它与任何移动电话的用户界面不太相似,但它还是提供一个基本的方式去个人化用户界面。这也是需要很多Symbian操作系统测试码与示例码的环境中运行。
分支
在Symbian发展阶段,出现了三个分支:分别是Crystal、Pearl和Quarz。前两个主要针对通讯器市场,也是出现在手机上最多的,是今后智能手机操作系统的主力军。
第一款基于Symbian系统的手机是2000年上市的某款爱立信手机。而真正较为成熟的同时引起人们注意的则是2001年上市的诺基亚9210,它采用了Crystal分支的系统。而2002年推出的诺基亚7650与3650则是塞班Pearl分系的机型,其中7650是第一款基于2.5G网的智能手机产品,他们都属于塞班的6.0版本。索尼爱立信推出的一款机型也使用了塞班的Pearl分支,版本已经发展到7.0,是专为3G网络而开发的,可以说代表了当今最强大的手机操作系统。
此外,Symbian从6.0版本就开始支持外接存储设备,如MMC,CF卡等,这让它强大的扩展能力得以充分发挥,使存放更多的软件以及各种大容量的多媒体文件成为了可能。
开发
在Symbian的架构上有多种不同的平台,提供不同的软件开发工具包(SDK)给程序开发人员,最主要的分别是UIQ和S60平台。
个别的手机制造商,或是同家族系列,通常也在网络上提供可下载的SDK和软件开发延伸包(Symbian Developer Network)。SDK内含说明文件、头文件、数据库和在Windows运作的模拟器(WINS),到了 Symbian v8,SDK加入了该版本的GCC编译器(跨平台编译器),才能够正常在设备内使用。
由于 Symbian v9 使用新的API,所以需要一个新的编译器。在SDK方面来说,UIQ提供简化的framework使得单一的 UIQ SDK 提供所有使用UIQ3的设备的开发基础,使用UIQ3的设备像 Sony Ericsson P990、M600和P1i。
Symbian C++ 程序设计在市售的集成开发环境(IDE)之下完成。之前较常见的是 Visual Studio,但是以现在的Symbian版本,比较偏爱于Symbian版的CodeWarrior。不过在2006年Nokia的Carbide.c++将会取代CodeWarrior。预期Carbide.c++会释出不同版本:其一个免费版(Carbide.c++ Express)允许用户在模拟器上去设计软件原型。
还有为Symbian设计的Borland IDE。Symbian操作系统也可借由社区的技术开发而在 Linux 和 Mac OS X 的环境下开发,有些部份Symbian允许公开 key tool 源代码。有一个插件允许在Apple的 Xcode IDE for Mac OS X 的环境下开发Symbian应用程序。 开发完成后,Symbian的应用程序需要找一个管道传输到消费者的移动电话。它们通常包装成SIS文件,通过电脑连接、蓝牙或是存储卡。一个替代方案是去找手机制造商来合作使手机内置该程序。但是在 Symbian OS 9的SIS文件会稍稍不易推广,原因是每个程序都至少要拥有Symbian的签署才能安装在该操作系统的手机。
Java ME for Symbian 的应用程序是使用正式的技术开发工具像是J2ME无线包。它们包装成JAR或JAD文件。其他像是名为SuperWaba的工具是提供建立 Symbian OS 7.0或7.0s的Java应用程序。
版本
Symbian按版本来分,继2005年二月Symbian推出一款新的手机操作系统软件OSv9.0,到目前为止已先后有了6.0、6.1、7.0、7.0s、8.0、8.1、9.0、9、4等几种版本。1999年3月Symbian推出了塞班5.0操作系统,它的主要内核集合了网络,无线文字,电子邮件,名片薄以及个人信息助理,同时还具有支持标准网络页面的浏览器,配合java语言的支持,使得Symbian可以运行小型的应用程序。不过这个版本采用的机型甚少,基本上与EPOC没有太多的差别。
S40或S60是指诺基亚手机的上层平台。S60都是智能手机,所用底层操作系统是塞班。诺基亚128*128屏幕都是S40 1.0。而128*160是S40 2.0。
S60是智能手机中应用最广泛的系统版本。S60系统还分为6.0 OS、7.0 OS和8.0 OS三个版本。区别S60的最直观因素在于屏幕的分辨率,S60支持的分辨率为176*208像素,但以后S60还会支持240*320像素、352*416像素等。S60是拥有最多第三方软件或游戏的界面。
识别S80界面最简单的办法就是看手机是否支持全键盘,例如诺基亚高端系列的9210、9300甚至9500,都采用全键盘的。识别S90的最简便方法是:会采用触摸屏幕,分辨率也高达640*320像素。S90应该是手机游戏、娱乐的最强平台,但因为采用S90界面的手机型号太少,第三方软件的支持很少,所以S60依旧是玩家首选。
安全
Symbian易受变种病毒的威胁,像是最为人所知的Cabir病毒。通常它们都靠蓝牙传播。不过,所有安装程序都会询问用户要不要安装,而未获信任的程序都会有显著的提示。然而,一般的用户其实不需要担忧这些恶意程序的骚扰,因为已安装的程序即使没有获得数字签证,理论上程序也不会去运行有危险的程序,像经由付费方式传输数据,因为这是可以被追踪的。程序开发人员可以经由此签证网站使该程序获得签证。
开放性
一个普遍的共同问题是Symbian是不是”开放”的。它并没有开放到内核源代码(源代码从没有公开)。然而,几乎所有源代码都提供给使用Symbian的手机制造商和其他合作伙伴。再者,很多应用程序接口(API)都有公开其技术文件,使任何人都可以开发Symbian的软件。这与其他传统的嵌入式操作系统形成对比,因为后者除了Java程序以外并无法提供任何后继市场的软件。
使用Symbian操作系统的设备
- Ericsson R380(2000年)是第一款在市场销售的塞班智能手机。然而将这款手机称为智能手机的说法是可能有疑问的,因为它无法安装软件的特性显示说它是完全封闭的设备。
- 2001年的Nokia 9210 Communicator智能手机(32-bit 66MHz ARM9的RISC CPU),2004年的Nokia 9300和Nokia 9500则使用S80。
- UIQ:最常使用于PDA像是2002年的Sony Ericsson P800、2003年P900、2004年P910、P990、W950、2007年Sony Ericsson P1i、W960,Motorola A920、A925、A1000,DoCoMo M1000,BenQ P30、P31,和Nokia 6708都使用此界面。
- 2002年的S60。
- 2004年的Nokia 7710使用S90。
- Fujitsu、Mitsubishi、Sony Ericsson和Sharp这些使用于日本的NTT DoCoMo手机共同开发名为FOMA的平台。
2006年11月16日,已有超过100万部塞班 OS手机发布。[1] 2009年7月21日,已有超过250万部塞班 OS手机发布。
竞争对手
Symbian操作系统与 Windows Mobile 、 Palm OS 、 Linux 、 Android 、 Mac OS X 等互相竞争,目前 Palm OS 已逐渐失去市场占有率,而 Windows Mobile 和 Linux 则来势汹汹,一般专家认为 Windows Mobile 对于Symbian版图的蚕食已不可避免。
Symbian也与使用于低级手机的嵌入式操作系统互相竞争,而后者倾向由各家厂商自行开发。Symbian与嵌入式操作系统比较,前者的优势在于它的标准化——该设备的每个程序运行期能够互相调用动态链接共享数据库(DLL),还有加入型架构(就是可以安装软件)。这些让功能较复杂的手机能够以较快的速度开发,有时这会抵消一些塞班 C++的困难度。
Symbian与开放式操作系统 Linux,和非开放的 Windows Mobile 等比较,它的优势是比较有争议的。手机制造商和网络营运商比较喜欢Symbian的定制灵活性(customisability)而较否定 Windows CE。尽管这些定制灵活性(customisability)使得集成Symbian手机更加困难。Symbian是设计为小型设备使用,使得它拥有更强大的能力、更有效率的存储器管理和更灵活的身段。
了解更多
维基百科:http://zh.wikipedia.org/zh-cn/Symbian
本文链接地址(Giga OS) - http://sancc.net/os/mobile-os/symbian
如转载,请注明:“转载自 Giga OS - http://gigaos.com/”,并注明链接地址!








