[size=medium][size=small]
前言:为什么现有的S60第1,2版的SIS软件不能在基于S60第3版的手机上运行近年来,具备掌上电脑的部分功能的智能手机发展迅猛。智能手机的含义,就是使用了开放编程接口的1作系统,以便利软件开发商为其开发各种第三方软件以增强其功能的手机产品。
目前智能手机使用的主流1作系统可以分为Symbian、WindowsMobile、Linux和Palm这4类。Symbian手机使用了底层1作系统和用户界面分离的设计,基于Symbian的常见的用户界面平台包括S60、S80、S90、UIQ这4类。因为诺基亚的强力支撑,S60平台在智能手机市场中占有重要地位。
自从2002年以来,S60也经历了5年多的发展历程,出现了数个版本:第1版(如7650),第2版(如6600),第2版FeaturePack1(如7610),第2版FP2(如6681),第2版FP3(如N70),第3版(如3250)。
在第2版FP3及其以前的版本中,虽然每次升级都会引入一些兼容性问题,但主要软件(本文指的是以.sis为扩展名的S60软件包,不包括Java软件)是大体可以通用的。其中第1版到第2版的升级的兼容性破坏的相对严重一些,但尚可接受。但是用户一旦购买了即将上市的使用S60第3版的手机就会发现,现有的支持S60第1,2版的第三方软件竟然没有一款能够在新手机上运行了,甚至安装都不行。这类手机包括3250、N71、N80、N91、N92、E60、E61、E70,以后会更多。看着手机屏幕的熟悉的S60界面,用户可能很茫然。诚然,S60第3版的显示界面和前两版的很类似,主要有了下列几项改进:多种分辨率、横向纵向屏幕的支持(并不是导致兼容性的根本原因,想想N90),卷滚条由底部菜单的箭头改为右侧的一条线,九宫格图标改为3x4,正在运行的程序在九宫格对应图标的右上角显示一个小圆圈。然而,藏在基本相同的用户界面底下的,是1作系统的前后不同版本之间的巨大的差异。
S60第1版使用了Symbian 6.1版1作系统,第2版和第2版FP1使用了Symbian7.0s,第2版FP2使用了Symbian 8.0a,第2版FP3使用了Symbian 8.1a,第3版使用了Symbian9.1(注意不要把Symbian91作系统和S90手写屏平台混淆,这是两个不同的概念。基于S90平台的手机只有7710,它使用了Symbian 7.0s1作系统)。
因为Symbian自从版本9以后引入了许多崭新的特性,使得它和以前版本的兼容性遭到了彻底的破坏。也就是说,S60的兼容性问题是其底层的Symbian1作系统导致的。在此给出带来兼容性问题的3个主要新特性:
(一)开发Symbian 8.1a及以前版本的工具中,编译器使用的是gcc forARM。9.0及以后版本使用的编译器是支持ABI标准的RVCT。诚然,使用RVCT使得在相同的硬件条件下,新的系统速度更快、更省内存。但是,两者编译产生的可执行文件和DLL文件的格式有诸多不同,是导致系统兼容性问题的最主要原因。
(二)Symbian9.0及以后的版本引入了新的系统安全模型。因为越来越多的个人信息(如电话簿、商业机密文档)会被保存在智能手机中,防止恶意软件或病毒窃取这些信息或者耗费用户通信费用很有必要。用户会注意到,以前的系统中安装的某个软件的所有文件都会存储在systemappsxxx目录下。Symbian9.0及以后的系统中,某个软件中的不同文件会存放在不同的目录。可执行文件(.exe,以前是.app)被统统放在sysbin下,资源文件被统统放在resource下,每个软件的所有私有数据被放在**[软件安全号]目录下,其他目录是供所有软件共享的目录。其中sysbin和resource用户不能更改,可执行文件只能由安装程序复制进去。**[软件安全号]只能由软件安全号所对应的软件访问。可执行文件引入了能力模型。取得某些能力,例如访问用户的电话簿、发送短信、修改手机设置等,需要让可执行文件获得Symbian公司或者诺基亚公司的数字签名。系统还具备可执行文件防纂改功能,安装经过修改的软件包,或者用读卡器修改存储卡的sysbin目录,会被Symbian系统发现。引入这些性特性,使得系统的安全性大大提高,各种私人数据可以放心的保存在手机中。但是系统安全模型的引入,是导致系统兼容性问题的另一个重要原因。
(三)Symbian8.1a及以前版本全部使用了EKA1核心,9.0及以后版本使用了EKA2核心。EKA2全面改进了EKA1的任务调度算法,完全支持实时性。实时性是支持某些高带宽、高优先级的任务对系统的基本要求。这些任务包括VoIP网络电话、高速率的视频在线点播。EKA2还可以利用最新的CPU特性。但是,EKA2和EKA1的一些区别导致了少量兼容性问题的出现。因为这些新特性会导致S60第3版和先前版本的彻底的不兼容,所以Symbian和诺基亚在引入这些特性前肯定做了许多权衡。最后决定,为了Symbian和S60系统长远的发展,例如支持VoIP、支持在线的MP4高速解码和回放、支持商务人士对应用软件的安全性要求,忍受软件兼容性的阵痛是值得的。另外,诺基亚已经承诺,S60的第4版会和第3版保持兼容性。为了让自己的软件能够在S60第3版平台上运行,各软件商必须修改自己的软件,推出支持S60第3版的新版本。好在这个工作并不费力,对源代码作很少量的修改,用前面提到的新编译器编译一下,测试通过后新版本随即诞生。另外,基于前面的原因,支持S60第3版的新版软件也不能在现有的S60的第1,2版手机上运行。
所以以后各个第三方软件可能会并列开发两个版本,一个用于S60第1,2版,一个用于第3版。但S60第3版绝对是诺基亚今后的发展重点,以后新出的S60手机基本都是第3版的,S60第1,2版的市场会逐渐消亡。而且S40的市场也会萎缩,只用于最低端的手机。S60第3版会成为今后几年内诺基亚手机的最主要平台,涵盖中低端和高端手机。所以不用担心S60第3版的前途. [/size][/size]

S60 v1、v2和v3的区别相关推荐

  1. 微信支付API v2与v3的区别

    V2版接口和V3版接口实际上是基于两种接口标准设计的两套接口. 目前大部分接口已升级为V3接口,其余V2接口后续也将逐步升级为V3接口 总的来说,v3支付是对v2版本的升级,不过目前来看,v3的支付对 ...

  2. 五分钟了解JumpServer V2.* 与 v3 的区别

    一.升级注意项 1.梳理数据.JumpServer V3 去除了系统用户功能,将资产与资产直接绑定.当一个资产名下有多个同名账号,例如两个root用户时,升级后会自动合并最后一个root,不会同步其他 ...

  3. IGMP V1 V2 V3 定义和区别

    先来认识一下IGMP这个协议吧,它的全称是Internet Group Management Protocol,它和unicast和multicast的区别是它是发往一组计算机(属于它这个组播组的所有 ...

  4. Googlenet v1、v2、v3、v4区别

    Googlenet v1.v2.v3.v4区别 Inception v1的网络,将1x1,3x3,5x5的conv和3x3的pooling,stack在一起,一方面增加了网络的width,另一方面增加 ...

  5. (转自网易--无风)IGMP V1 V2 V3 定义和区别

    IGMP的问题,应用在IGMP的一些概念. 那就让我们完整的看一下这个组播协议把,以下是我学习过程重总结的一些东西, 先来认识一下IGMP这个协议吧,它的全称是Internet Group Manag ...

  6. 从Inception v1,v2,v3,v4,RexNeXt到Xception再到MobileNets,ShuffleNet,MobileNetV2

    from:https://blog.csdn.net/qq_14845119/article/details/73648100 Inception v1的网络,主要提出了Inceptionmodule ...

  7. Android v1、v2、v3签名原理

    Android签名机制 什么是Android签名 了解 HTTPS 通信的同学都知道,在消息通信时,必须至少解决两个问题:一是确保消息来源的真实性,二是确保消息不会被第三方篡改. 同理,在安装 apk ...

  8. android V1,V2,V3,V4签名详解

    前言 最近帮测试做了一点关于签名的需求,今天就和各位同学简单聊一聊关于签名的那些事儿. 如果问到 Android 为什么需要签名?大家都可能想到官网的解释: ❝ Android 系统要求所有 APK ...

  9. 面向Mobile device的CNN模型手工设计与NAS分析总结,MobileNet V1,V2,V3,Efficient,MNasNet以及Efficient network design

    手工方法和NAS的高效网络模型设计总结与分析 这篇文章主要关注对于移动端,资源受限平台的高效神经网络设计(Manually)和搜索(NAS). ​​​​​​高效的CNN设计不只是用在服务器,云端,资源 ...

  10. PyTorch 实现经典模型7:YOLO (v1, v2, v3, v4)

    YOLO (v1, v2, v3, v4) 网络结构 YOLO v3 网络结构 代码 Ref <机器爱学习>YOLO v1深入理解 <机器爱学习>YOLOv2 / YOLO90 ...

最新文章

  1. 【基础知识】如何在浏览器中查找元素属性节点
  2. 项目中使用Quartz集群分享--转载
  3. 深度学习中,Batch_Normalization加速收敛并提高正确率的内部机制
  4. pat1049. Counting Ones (30)
  5. linux调用php项目,在Centos/Linux系统下使用Phalcon开发PHP项目
  6. bytes数组转string指定编码_一篇文章弄懂Python中所有数组数据类型
  7. pl sql代码提示手动提示设置
  8. 【linux】linux Vim编辑器快捷键
  9. 中雅图帕尼尼_凝聚意大利足球50年辉煌 中雅图引进帕尼尼意甲球星贴
  10. Kotlin 一统天下?Kotlin/Native 开始支持 iOS 和 Web 开发
  11. 生信自学笔记(三)分子数据库
  12. 结构体定义的三种方法总结
  13. Unity网络编程教学视频(本人第一次录制)
  14. 【PM】1.2 认识产品经理 产品经理能力模型
  15. Xilinx MIG IP核app_wdf_rdy信号一直为低
  16. 【微信小程序】获取用户信息
  17. 手机视频用计算机,如何用手机通过无线wifi直接播放电脑里的视频
  18. 【GoCN酷Go推荐】Html解析利器-goquery库
  19. Oracle 设置 sort au,oracle数据库拼音排序及NLS_SORT配备[转]
  20. OSCP-Pwned1(pwn题)

热门文章

  1. comsol学习中心:几何建模
  2. 正确的座机号码格式_国际标准电话号码格式
  3. 信息学奥赛一本通pdf_新手如何参加信息学竞赛NOIP,怎么入门(常见问题解答)?...
  4. Excel VBS编程 命令详细介绍 详解
  5. DHCP服务的八种报文(消息)作用
  6. python与开源_Python与开源GIS
  7. 各个音阶的频率_声音各个频率的还原
  8. Wordpress 网站搭建及性能监控方法详解!
  9. Linux常见查看日志命令
  10. 记阿里电话面试失败过程