Mars_ice 2008-6-4 10:52 PM
技术帖SymbianOS91与S60v2的具体区别(程序不兼容的原因)
[b]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,XExtended扩展,假如在OS9.1上打开没有Security Model的SIS,就会提示"不支持安装".
PS:这里非凡提一下,不要以为把程序装在TF卡里,再用读卡器修改好,再到手机里用,因为假如你选择安装到可移动存储(不在Security Model管辖范围内),它会在安装的时候自动生成一个Hash放在系统目录下,每次启动的时候都要效验...那里的Hash是最原始的文件,想仿冒? 小于2--64大小的数据Hash不会有任何一个重复.....[/b]
[attach]17162[/attach]
a182959212532 2008-6-4 10:52 PM
谢谢支持
871612 2008-6-4 10:52 PM
来来来.把LZ顶上去~~太深奥了.我就随便用下好了~
嘎嘎
CC飘过~~~
richardzhen 2008-6-4 10:52 PM
谢谢支持
lsh123123 2008-6-4 10:52 PM
好帖顶起来
zhen_tom 2008-6-4 10:52 PM
你的帖子好多,头都要顶破了,为了兄弟,我愿意
在顶
wjz3210 2008-6-4 10:52 PM
希望大家多支持一下技术帖,支持就是力量
ycquan007 2008-6-4 10:52 PM
帮你顶
lili5506688 2008-6-4 10:52 PM
这么好的资料没人顶 大家来顶顶 谢谢
skcheng521 2008-6-4 10:52 PM
顶起来
pengzi89 2008-6-4 10:52 PM
这个版块有点冷清.看来用N76的不多