登录 | 注册 | 创建俱乐部 | 加入俱乐部    搜索 高级搜索 帮助

 本贴固定地址:http://zone.it.sohu.com/forums/thread-910679-1-1.html   复制链接   收藏   [刷新本页]
发新话题
打印

SymbianOS9.1与S60v2的具体区别--程序不兼容的原因---

SymbianOS9.1与S60v2的具体区别--程序不兼容的原因---

SymbianOS9.1与S60v2的具体区别(程序不兼容的原因)


首先介绍一下SymbianOS的系统结构(C++)
Application Services | Application Protocols | Application Engines
-----------------------------------|----------------------------------------
                  Application Framework
-----------------------------------|----------------------------------------
                      Native API
-----------------------------------|----------------------------------------
                      Base(HAL)
最上面是应用程序层,它基于Application Framework也就是应用程序框架,类似与.NET,JAVA的托管层,下面是系统API层,最底下是HAL(Hardware Abstraction Layer)硬件抽象层,直接控制硬件,为API提供硬件接口.

区别一:
Symbian OS 9.1的Native API调用全部受Application Framework管理,而以前的版本可以直接调用到HAL层,所以S60v3的API有了权限管理,Raw/Native API的直接调用被取消.没有权限管理模型的调用(S60v1,v2)同样被拒绝.

区别二:
OS9.1的应用程序引入了Capabilities 权限, Data Caging 安全存储 , Secure Interprocess Communication 安全的跨进程通信, 使得每个应用程序相互独立,即使有相同的权限(TCB以下),都不能互相访问私有数据.所以保护了sys,private文件夹,没有TCB或AllFiles权限是不能读写的.

区别三:
OS9.1采用了新的实时内核EKA2,重新定义了EUSER(用户对象)和DllEntrypoint(DLL入口),好象是删除了,用Security Model(安全模型)取代.

区别四:
代码编译使用了新的GCC EABI,说是减少了内存使用,增加ROM代码,提高效率,但最后用了托管架构,性能未必提高.这造成了文件格式不兼容.以前的应用程序为.app,现在是.exe(这不是主要,关键是格式).

区别五:
sis的全称是SymbianOS Install System,安装系统,它的作用是判断系统版本,解压压缩的exe,rsc,mif...等等文件,并进行crc效验.这是S60v1,v2的SIS功能,在S60v3中,SIS变成了一个Security Checker安全检查器,除了完成以上的功能外,还要检查电子签名,包括签名里容许的权限,还要详细检查每个API调用,是否符合签名里的权限,任何一相不符合,都不能安装.Symbian把新的SIS称为SISX,X=Extended扩展,如果在OS9.1上打开没有Security Model的SIS,就会提示"不支持安装".
ps.这里特别提一下,不要以为把程序装在TF卡里,再用读卡器修改好,再到手机里用,因为如果你选择安装到可移动存储(不在Security Model管辖范围内),它会在安装的时候自动生成一个Hash放在系统目录下,每次启动的时候都要效验...那里的Hash是最原始的文件,想仿冒? 小于2^64大小的数据Hash不会有任何一个重复.....

区别六:
.............
不用听了吧,反正肯定是不行了,也回答了大家最困惑的问题,知道为什么不行,心里总踏实一点.
支持!
支持
欢迎大家来诺基亚区      

我选择,我喜欢,我就要回帖,别拦着我!!!
发新话题
查看积分策略说明

快速回复主题

选项

[按Ctrl+Enter提交]  预览帖子  恢复数据  清空内容