S60v3和之前的版本有几点主要区别,我来简单说说:
第一点,S60v3用的是Symbian OS 9.1系统,这个版本的API调用全都被Application Framework管起来了。以前老版本比如v1、v2是可以直接调到HAL层的,但v3不行了,加了权限管理,像那些Raw/Native API都不能直接用了。所以一些没权限管理的老程序在v3上也跑不了。
第二点就是引入了一套新的权限机制,叫Capabilities,还有Data Caging和Secure IPC这些安全机制。意思就是一个App只能管自己的一亩三分地,就算两个App权限一样(TCB以下),也不能随便访问对方的数据。这就保护了系统文件夹,比如sys和private这些目录,没有TCB或者AllFiles权限的话,根本读写不了。
第三点是系统内核换了,用上了EKA2实时内核。原来的EUSER和DllEntrypoint好像被删掉了,换成新的Security Model来处理这些东西。
第四点是编译工具变了,开始用GCC EABI。官方说是省内存、提高效率,但实际上因为用了托管架构,性能提升不明显。而且格式也不兼容了,之前是.app后缀的应用,现在都变.exe了,关键是内部结构不一样,老程序装不上。
第五点是安装包的变化,sis其实是Symbian Install System的缩写,以前主要是解压安装包、校验CRC这些。到了v3,SIS升级成了SISX(X代表扩展),除了原来的功能,还多了个安全检查的角色。它会检查电子签名、允许的权限,甚至每个API调用都要核对是否合规,只要有一项不符合,就装不上。如果你在v3手机上装一个老版的SIS包,就会提示不支持安装。
S60v3相比之前版本更注重安全性和权限控制,但也带来了一些兼容性问题。
第一点,S60v3用的是Symbian OS 9.1系统,这个版本的API调用全都被Application Framework管起来了。以前老版本比如v1、v2是可以直接调到HAL层的,但v3不行了,加了权限管理,像那些Raw/Native API都不能直接用了。所以一些没权限管理的老程序在v3上也跑不了。
第二点就是引入了一套新的权限机制,叫Capabilities,还有Data Caging和Secure IPC这些安全机制。意思就是一个App只能管自己的一亩三分地,就算两个App权限一样(TCB以下),也不能随便访问对方的数据。这就保护了系统文件夹,比如sys和private这些目录,没有TCB或者AllFiles权限的话,根本读写不了。
第三点是系统内核换了,用上了EKA2实时内核。原来的EUSER和DllEntrypoint好像被删掉了,换成新的Security Model来处理这些东西。
第四点是编译工具变了,开始用GCC EABI。官方说是省内存、提高效率,但实际上因为用了托管架构,性能提升不明显。而且格式也不兼容了,之前是.app后缀的应用,现在都变.exe了,关键是内部结构不一样,老程序装不上。
第五点是安装包的变化,sis其实是Symbian Install System的缩写,以前主要是解压安装包、校验CRC这些。到了v3,SIS升级成了SISX(X代表扩展),除了原来的功能,还多了个安全检查的角色。它会检查电子签名、允许的权限,甚至每个API调用都要核对是否合规,只要有一项不符合,就装不上。如果你在v3手机上装一个老版的SIS包,就会提示不支持安装。
S60v3相比之前版本更注重安全性和权限控制,但也带来了一些兼容性问题。