《手机操作系统结构设计与演进趋势.docx》由会员分享,可在线阅读,更多相关《手机操作系统结构设计与演进趋势.docx(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Symbian操作系统手机操作系统结构设计与演进趋势2009211108班龚磊 082101442011/6/12 摘要:此文中主要介绍了Android,Symbian,IOS的特点,包括操作性,软硬件效果,开发平台的要求,市面上主打手机的特点。以及在未来不同操作系统的手机的发展前景。关键词:手机,操作系统,Android,Symbian,IOS,苹果,Nokia,MotorolaJava。正文:在科技飞速发展的今天,手机融入了人们的生活,变得不可或缺,也变得越来越多功能,可以当信用卡,可以当GPS,使人们的生活丰富多彩。手机市场也变得越来越火爆,由原来的Motorola的一家独大,到现在的百
2、家争鸣,硬件的发展已渐渐不成问题,苹果公司的乔布斯曾经说过,手机未来的发展趋势是“触摸,大屏”,在有限的硬件条件下,如何提高手机的操作性呢?答案只有一个操作系统。手机的发展很快,从1993年来到中国的Motorola 公司带给中国的大哥大,三星带来的第一款彩屏手机,西门子带来的第一款滑盖手机,2005年1月4日,Nokia进入中国市场,用简洁,运行速度快的Symbian系统,把中国的手机发展推向了高潮,2009年11月,全球追捧的Iphone也进入了中国,2010年6月的发布会上,拥有更高品质屏幕,更快速的处理器,机身最薄的Iphone4,更是把手机这一产品推上了历史的舞台。有的人说,手机不过
3、是打打电话发发短信而已,但是随着手机软硬件的发展,手机的功能变得越来越不可忽视,如上网,查收邮件,办公处理等,渐渐成为人们所依赖的功能,而不是简单的电话以及短信,这标志着,人们对手机的要求已经不仅仅局限于外观,已然需要有更高的操作速度,更美观的操作环境,更方便的操作方式。这时候操作系统就变得尤为重要。Symbian:在那个发短信打电话的时代,Nokia带来的Symbian S40操作系统,显得格外优秀,因为简单的操作方式,快速的反应能力,Nokia几乎统治了中国的手机市场,在Nokia推出5200,5300时,同时期Motorola的V3和V3I就显得逊色了不少,屏幕的分辨率以及操作系统的反应
4、速度上都不在一个档次,所以在之后的2年里Motorola基本已经销声匿迹了,同一时期的S60系统由于硬件原因在速度上就相差了很多,到了N93的时代才有了很大的改观。Symbian是曾经的智能机第一操作系统!Symbian的系统架构相对简单,可以称之为“微核操”作系统。所谓“微核”,就是说操作系统只有很小的一部分是运行在最高优先级的,其他的功能都是以Client-Server的方式提供。微内核是内核的一种精简形式通常与内核集成在一起的系统服务层被分离出来,变成可以根据需求加入的选件,这样就可提供更好的可扩展性和更加有效的应用环境。使用微内核设计,对系统进行升级,只要用新模块替换旧模块,不需要改变
5、整个操作系统。Symbian系统的内部结构图:应用层:Shell, OPL, 及其他应用程序=系统层:Dialogs, Menu, Toolbar, Icons, Resources, JavaVM,Grid, Rich Text, Edit Control, List Control, Application Framework,Jave Class Libraries.=服务层:Window Server, Process Server, Socket Server, Sound Server,Wireless Server, Database Server, File Server, A
6、larm Server, CommsServer, 以及无线协议=内核:euser.dll, ekern.exe, 服务控制(supervisor server),HAL(设备抽象层)=驱动程序层:包括音频驱动,显示驱动,MMC驱动,键盘驱动,串并口驱动,DSP驱动,时钟控制器驱动等等。 在现代移动通信中,3G网络手机,只有少数机型是跟移动合作的TD-SCDMA技术,大部分都是WCDMA的,但是相应的改造并不困难,只要加载了相应的模块与协议应该就可以轻松做到。用户界面: 目前根据人机界面的不同,Symbian体系的UI(User Interface 用户界面)平台分为Series 60、Ser
7、ies 80、Series 90、UIQ等。为了更强力地支持Symbian平台,Nokia在2001年成立Nokia Mobile Software新部门,全力发展移动通信相关的软件。为了让手机厂商有更多的选择以投入Symbian手机的开发,Nokia发展出三种不同的用户界面:Series 60/80/90。Series60主要是给全键盘以及数字键盘手机用,Series 80是为完整键盘所设计,Series 90则是为触控笔方式而设计。另外一个重要的平台是由Symbian百分之百转投资的UIQ Technology所开发出来的UIQ。Series 20/30多为低端手机所采用,Series 4
8、0多为中端商务手机所使用支持Java的扩展,Series 60/80/90是为采用Symbian系统的中高端智能手机和高端商务手机而设计。Series 20: 84x48 PHXSeries 30: 96x65 PHX,型号一般为1系列,手机型号如:1100,1108.Series 40: 96x68、128x128、128x160 、240x320像素, 手机型号如:1112,1116,1110i,3110c.5200.6230,7210,2610,6020.Series 60: 支持多种分辨率,机型如:5320xm,6122c, 6220c,N95.基本定位于单手操纵设备,至今为止,分为第
9、一版第二版和第三版还有最新的第五版,第五版为触屏版本,包括诺基亚E77,E63,E66,N97,5800XM,5800i5802XM,5530XM,5230.x6三星i8910,第三版还分为预FP1(MR),FP1,FP2,支持176X208, 240x320、352x416分辨率,导航键,两个功能键。使用Symbian OS Preal平台。里面的菜单呈九宫格或十二宫格方式排列。支持MIDP JAVA和使用C+编写的.SIS扩展程序包。不失小巧体积的强力手机系列。代表机器有6681/7610/N73/N80/N95,同时这个系统和UI Style也授权给了一些其他手机厂商比如西门子、三星、松
10、下等。Series 80:NOKIA把这个系列的机器叫做Communicator,在型号上只有一个系就是9系。使用的是Symbian OS Crystal平台。它代表了NOKIA最强的技术,每代都是当时NOKIA所有最高级技术的集合体。最大特点就是像个铅笔盒(或者说遥控器),外部有一个标准的手机操作界面,里面横向打开后有一个640X200的大屏幕,有四个功能键、N个快捷键和一个完整的全键盘。净重通常都在200克上下,但是功能强大。可以说是最棒的商务用手机了。NOKIA自己的高层基本都用这玩意儿。典型代表有9110/9210/9300/9500 (抛掉9000和9210C/9290这些过渡品不说
11、,这个系就只出了这几款)。Series 90:使用640X320的大屏幕,除了很少的几个功能/方向键以外完全是触摸屏控制。典型代表有7710。因为Seires 20/30不支持扩充功能,所以没有相应的对外公开的它们UI Style文档,Series 40、Series 60/80/90的UI Style文档以及SDK均可以在Nokia的Developers频道免费下载。UIQ开发的UI平台Symbian提供了灵活的用户界面(Use interface UI),来适应不同的用户需求。目前基于Symbian的用户界面有很多,主要是Series 60/80/90以及UIQ,这其中从功能上来说UIQ最
12、为强大,同时这也是更加贴近智能手机范畴的系统。这种UI我们都可以理解为Symbian之上的Shell,它对Symbian的界面进行不同的“包装”,同时增加了一些常用的应用程序。为了推广和完善UIQ,Symbian成立了UIQ技术公司(UIQ Technolgy),这是一家旨在开发和推广UIQ的公司。从目前来看似乎UIQ并没有诺基亚的Series 60系统来得流行,因为基于UIQ平台的手机产品比较少;但是随着UIQ 3.0的出现这种情况将发生戏剧性的变化,今年会有更多的厂商选择为产品配置UIQ平台。这家软件开发商自六个月前开始裁员,在此之前,公司股东决定将UIQ软件与塞班(Symbian)平台合
13、并。诺基亚上月完成了对塞班的并购,并承诺客户可免费使用这款软件。应用开发: 相对而言,更重要的部分是手机应用层的内容,用户的数量是要远远超过开发者的,所以,软件的市场,才是操作系统竞争的决定性因素。 现在使用人数最多的开发环境无疑是Java SE了,S40的系统对于Java的支持毫无问题,而S60需要模拟环境之后才能运行Java的应用,在运行速度上有不少的瑕疵,我认为Symbian S60系列对于Java的支持是它的一个硬伤,也是Symbian逐渐失去智能机第一操作系统的重要原因之一。能将Symbian系统发挥到最大能力的应用环境无疑是Symbian C+,但是Symbian C+的要求相对较
14、高,语句晦涩难懂,对于Symbian的系统需要有清晰的认识,需要对各个层进行深入的了解。而Java有个模拟环境,相对而言就要轻松许多。重要的是:如果你写了Java,经过简单的修改,你可以用在Android,IOS上,但是如果用Symbian C+编写,如果要用在其他操作系统上,还不如重新编写。所以Symbian的应用无论是移植还是编写,都是有一定困难的,在人员上都会有相应的损失。Android: Android应该毫无疑问的被评价为发展最快速的手机操作系统,Google于2008年9月发布的手机操作系统,Android内核是基于Linux的,所以它继承了Linux的最大特点开源!刚才介绍的Sy
15、mbian之所以能够看到内部层面完全是迫于Android的压力,才被公开了源代码,而Android则在一开始就是开源操作系统,并且由于Linux的基础,在开发者上,在系统的完善上,Android的都具有无与伦比的优势,到今天,Android在市面上流通的最高版本为Android 2.4 Gingerbread和Android 3.0 Honeycomb。Android的特点及优势:一、开放性在优势方面,Android平台首先就是其开放性,开发的平台允许任何移动终端厂商加入到Android联盟中来。显著的开放性可以使其拥有更多的开发者,随着用户和应用的日益丰富,一个崭新的平台也将很快走向成熟。开
16、放性对于Android的发展而言,有利于积累人气,这里的人气包括消费者和厂商,而对于消费者来讲,最大的受益正是丰富的软件资源。开放的平台也会带来更大竞争,如此一来,消费者将可以用更低的价位购得心仪的手机。二、挣脱运营商的束缚在过去很长的一段时间,特别是在欧美地区,手机应用往往受到运营商制约,使用什么功能接入什么网络,几乎都受到运营商的控制。自从iPhone上市,用户可以更加方便地连接网络,运营商的制约减少。随着EDGE、HSDPA这些2G至3G移动网络的逐步过渡和提升,手机随意接入网络已不是运营商口中的笑谈。三、丰富的硬件选择这一点还是与Android平台的开放性相关,由于Android的开放
17、性,众多的厂商会推出千奇百怪,功能特色各具的多种产品。功能上的差异和特色,却不会影响到数据同步、甚至软件的兼容。好比你从诺基亚Symbian风格手机一下改用苹果iPhone,同时还可将Symbian中优秀的软件带到iPhone上使用、联系人等资料更是可以方便地转移。四、不受任何限制的开发商Android平台提供给第三方开发商一个十分宽泛、自由的环境。因此不会受到各种条条框框的阻挠,可想而知,会有多少新颖别致的软件会诞生。但也有其两面性,血腥、暴力、情色方面的程序和游戏如何控制正是留给Android难题之一。五、无缝结合的Google应用如今叱咤互联网的Google已经走过10年度历史。从搜索巨
18、人到全面的互联网渗透,Google服务如地图、邮件、搜索等已经成为连接用户和互联网的重要纽带,而Android平台手机将无缝结合这些优秀的Google服务。 系统架构: Android以Java为编程语言,从接口到功能,都有层出不穷的变化,其中Activity等同于J2ME的MIDlet,一个 Activity 类(class)负责创建视窗(window),一个活动中的Activity就是在 foreground(前景)模式,背景运行的程序叫做Service。两者之间通过由ServiceConnection和AIDL连结,达到复数程序同时运行的效果。如果运行中的 Activity 全部画面被其
19、他 Activity 取代时,该 Activity 便被停止(stopped),甚至被系统清除(kill)。View等同于J2ME的Displayable,程序人员可以通过 View 类与“XMLlayout”档将UI放置在视窗上,Android 1.5的版本可以利用 View 打造出所谓的 Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,HTC的Android Hero手机即含有大量的widget。至于ViewGroup 是各种layout 的基础抽象类(abstract class),ViewGroup之内还可以有ViewGroup。View的构造
20、函数不需要再Activity中调用,但是Displayable的是必须的,在Activity 中,要通过findViewById()来从XML 中取得View,Android的View类的显示很大程度上是从XML中读取的。View 与事件(event)息息相关,两者之间通过Listener 结合在一起,每一个View都可以注册一个event listener。 软件结构: 底层:Linux内核 下层:库 中层:应用框架 下层:应用与插件 开发环境:Android应用程序用Java做为开发语言。aapt工具把编译后的Java代码连同其它应用程序需要的数据和资源文件一起打包到一个Android文件
21、包中,这个文件使用.apk做为扩展名,它是发布应用程序并安装到移动设备的媒介,用户只需下载并安装此文件到他们的设备即可。单个.apk文件中的所有代码被看作是一个应用程序。从很多方面来看,每个Android应用程序都存在于它自己的世界之中:默认情况下,每个应用程序均运行于它自己的Linux进程中。当任一应用程序开始执行时,Android启动一个进程,而当应用程序不再需要此进程而其它应用程序又需要系统资源时,则关闭这个进程。每个进程都运行于自己的Java虚拟机(VM)中。所以应用程序代码实际上与其它应用程序的代码是隔离的。默认情况下,每个应用程序均被赋予一个唯一的Linux用户ID,并加以权限设置
22、,使得那个应用程序的文件仅对这个用户、这个应用程序可见。当然,也有其它的方法使得这些文件同样能被别的应用程序所访问。可以让两个应用程序共有同一个用户ID,这种情况下他们可以看到彼此的文件。为了保护系统资源,拥有同一个ID的应用程序将运行在同一个Linux进程,以及同一个虚拟机之中。IOS:IOS其实在09年对于我来说似乎跟手机操作系统没什么关系,但是在10年引入Iphone 3G还有Iphone4后,IOS产生了质的飞跃,从过去稳定的3.3版本,到现在的4.3版本,其实由于IOS的限制我们没有办法获得IOS的源代码,我们只能大体知道IOS的架构,而不能进一步的修改以及研究,但是也正是因为这样,
23、IOS在安全性上有更好的表现,与之相反的是windows mobile,因为是移植的windows所以各种病毒都会出现在相应的手机上,IOS的手机只有苹果推出的手机。基本架构: 触控(Cocoa Touch) 媒体(Media) 内核服务(Core Services) |-网络 |-SQLite嵌入式数据库 |-地理位置(GeoLocation) |-线程(Threads) OS X内核 (Core OS) |-TCP/IP协议 |-套接字(Sockets) |-电源管理 |-文件系统(File system) |-安全 用户界面:iOS的用户界面的概念基础上是能够使用多点触控(multipl
24、e-touch event and operrate)直接操作。控制方法包括滑动,轻触开关及按键。与系统交互包括滑动(swiping),轻按(tapping),挤压(pinching)及旋转(reverse pinching)。此外,通过其内置的加速器,可以令其旋转设备改变其y轴以令屏幕改变方向,这样的设计令iPhone更便于使用。 屏幕的下方有一个home按键,底部则是dock,有四个用户最经常使用的程序的图标被固定在dock上。屏幕上方有一个状态栏能显示一些有关数据,如时间电池电量和信号强度等。其余的屏幕用于显示当前的应用程序。启动iPhone应用程序的唯一方法就是在当前屏幕上点击该程序的
25、图标,退出程序则是按下屏幕下方的home键。在第三方软件退出后,它直接就被关闭了,但在iPhone 3.0 及后续版本中,当第三方软件收到了新的信息时,苹果公司的服务器将把这些通知推送至iPhone或iPod Touch上(不管它是否正在运行中)。在iPhone上,许多应用程序之间都是有联系的,这样,不同的应用程序能够分享同一个信息(如当你收到了包括一个电话号码的短信息时,你可以选择是将这个电话号码存为联络人或是直接选择这个号码打一通电话)。 开发环境: 2007年10月17日,史蒂夫乔布斯在一封张贴于苹果公司网页上的公开信上宣布软件开发工具包。它将在2008年2月提供给第三方开发商。软件开发
26、工具包于2008年3月6日发布,并允许开发人员开发iPhone和iPod touch的应用程序,并对其进行测试,名为“ iPhone手机模拟器” 。然而,只有在付出了iPhone手机开发计划的费用后,应用程序才能发布。自从Xcode3.1 发布以后, Xcode就成为了iPhone软件开发工具包的开发环境。新的开发环境为SDK。由于iOS是从于Mac OS X核心演变而来,因此开发工具也是基于Xcode。SDK可分类为下列几大项:触控(Cocoa Touch)多点触控事件和控制(Multi-touch events and controls)加速支持(Accelerometer support
27、)查看等级(View hierarchy)本地化(i18n)(Localization (i18n)相机支持媒体OpenAL混音及录音(Audio mixing and recording)视频播放图像文件格式(Image file formats)QuartzCore AnimationOpenGL ES核心服务网络SQLite嵌入式数据库地理位置(GeoLocation)线程(Threads)OS X核心TCP/IP协议套接字(Sockets)电源管理文件系统(File system)安全和Xcode工具一样,SDK开发工具中包含的iPhone模拟器用来在开发人员的电脑上模拟iPhone的
28、外观和感觉。最初它被称为阿斯模拟器(Aspen Simulator),它被重命名于BETA2版中发布的SDK 。该SDK需要拥有英特尔处理器且运行Mac OS X Leopard系统的Mac才能使用。其他的操作系统, 包括微软的Windows操作系统和旧版本的Mac OS X都不被支持。这就说明了:1.你要开发,你得拥有一台MAC的电脑,还得花钱更新操作系统。 2.你要花钱去买个SDK的key才能进行开发,上传到app store也是需要经过自己的账号的。各操作系统的发展前景: 毫无疑问,在Nokia转入windows phone的开发后,Symbian的没落基本上是必然的,或者说Symbia
29、n已经在没落了,Symbian的成功不可或缺的因素就是Nokia的支持。换而言之,即使塞班3能维持一段时间,也绝对不会有塞班4,塞班5的出现了。Android绝对是很有潜力的系统,他兼容各种硬件,不仅仅是手机,平板电脑,上网本,也会带动Linux的进一步发展,强如HTC,Motorola,LG,三星之类的公司都在应用Android系统,无疑,这将会是庞大的使用量,简单的开发环境,以及无所不能的Java将会把Android的应用市场发展的兴兴向荣,Android必将引领手机系统的潮流。IOS的确是非常强大的系统,最大的应用市场:app store,拥有最火热的受欢迎程度的手机:iphone,安全性上也有可靠地保证,售后服务上,苹果公司更是无可挑剔,但是苹果这一品牌在中国并不是一个平民化的品牌,他能打开中国的市场,能引领手机时尚的潮流,但却不能深入人民生活,它的应用不具备:免费!IOS在中国与Android的竞争必将激烈,Windows phone也必将深入呈现三足鼎立的局面。但是更重要的是公司的决策,以及我们开发者的选择。参考文献:百度百科,塞班论坛,Symbian 开发者论坛
限制150内