查看文章 |
S60 3rd Edition 平台
S60 3rd Edition中的一些关键变动,改变了应用软件开发的方式。这些变动包括:一个新的编译器、一个新的内核和平台安全性的执行。简而言之,S60 3rd Edition和以前版本之间的最大差别在于: · 针对ARM架构的ABI编译器 · 实时内核(Symbian 9.0及后续版本) · 平台安全性 · Symbian Signed · 新的工具链 针对ARM架构的ABI编译器 从S60 3rd Edition开始,以面向ARM®架构的应用二进制接口(Application Binary Interface)为基础的编译器被用于编译各种应用。ARM C/C++ ABI是行业标准,它确定如何让各种可执行文件和共享对象协同工作。采用ARM ABI编译器标准之后,S60平台通过提升内存使用效率和缩短数据访问时间,使系统和第三方应用的性能表现得到提升。 实时内核(Real-time kernel) S60 3rd Edition的底层操作系统是Symbian OS v9.1,该操作系统具有一个实时核,即EPOC Kernel Architecture 2(EKA2),EPOC是Symbian OS的原名,其早先内核是EKA1。新版多线程内核的许多内核服务时间是可预测的,且降低了延迟时间,因而非常适用于诸如通讯和IP栈这类时间敏感应用,诸如视频流及IP电话(VoIP)等需要很高带宽的多媒体应用。 平台安全性(Platform security) S60 3rd Edition引入了平台安全新方案。这方面改变的初衷是要确保S60终端的完整性,使用户们对其终端具有信心,相信它是安全、可靠、可预测的。为此目的,第三方应用软件对手机的敏感数据和终端的某些操作的访问是受控制的。 这些改变意味着:开发伙伴们只要得到验证就可以访问更加广泛的API。这些改变也提供了一些保护,从而避免了因为一些应用的某些缺点而产生不希望出现的副作用。从商务角度看,这些增强提升了S60平台作为稳定、安全的操作系统的良好声誉。平台安全得到模拟器的充分支持,从而使开发伙伴们能测试这些功能对其应用的影响。 请注意,“平台安全”并不是指S60平台已经提供的功能,也不是指第三方对该平台的扩展中所提供的功能,如加密、防火墙、Javaä MIDP安全域模型、防病毒,或一些通信协议的安全版等。 信任计算基(Trusted Computing Base) 为执行S60 3rd Edition所引入的一些安全措施,系统中使用了名为信任计算基(Trusted Computing Base)的一组软件。TCB包含内核(kernel)、文件系统(file system)及软件安装器(software installer)。它负责保证:只有具有必要许可及权限的应用才能被安装到终端上,及被允许访问终端的受限制区域。 数据锁定(Data caging) 数据锁定的目标是:控制对文件系统的访问(access)以保证数据安全。每个应用都有其自己的private目录用于储存私有数据,且不允许其他应用访问(除非该应用具有足够的capabilities)。某个应用能访问文件系统中其private目录之外的大部分区域但是也有限制。 如果与终端制造商之间没有协议,储存可执行文件的/sys目录是不允许访问的,而保存诸如位图等应用资源文件的/resource目录则为只读。为能访问那些特定的目录,某个应用需要具备一些capabilities。对终端中特定目录的capability需求如下表所示:
图1 这里的“SID”指的是应用独有的安全ID(SecureID)。每个应用都有自己的安全ID及按照安全ID而定义的独有的私有目录,如“c:/private/20000001”。 能力模型(Capability model) Capability模型的目的是确保:只有获信任的应用才能使用某些敏感的API和系统资源。用户可以在应用被安装时授予某些许可,如发送短消息(SMS)及读写用户数据等。然而,有许多Capabilities则只授予给通过Symbian Signed认证的应用。 在S60平台上,共有四套Capabilities: u 完全开放:这些Capabilities对所有应用都开放,应用无需Symbian Signed。 u 安装时由用户授予:这些Capabilities(完整的位置信息除外)由用户在安装时向应用授予,并被称为未认证沙箱(unsigned sandbox)。通过Symbian Signed的应用,无需用户授予许可就可以使用所有这些capabilities。 u 通过Symbian Signed授予:这些Capabilities包括安装时由用户授予的那些Capabilities加上需要Symbian Signed后应用才能使用的一个Capabilities扩展集。 u 制造商授予:这些Capabilities需要与制造商签订协议,以允许在Symbian Signed过程中授予这些Capabilities。 不同的Capabilities需要不同种类的证书。在开发阶段,用户也许需要申请不同的证书用于测试。一个证书可用于认证具有该证书中所定义的Capabilities的子集的任何应用。下图说明了S60的Capabilities:
图2:S60的capabilites “Symbian Signed” 和“新的工具链”部分将不在本文介绍,请参考相关链接。
| ||||||||||||||||||||


